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
@@ -151,12 +151,18 @@
151
151
 
152
152
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
153
153
 
154
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
155
+
154
156
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
155
157
 
156
158
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
157
159
 
158
160
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
159
161
 
162
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
163
+
164
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
165
+
160
166
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
161
167
 
162
168
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -263,7 +269,7 @@
263
269
 
264
270
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
265
271
 
266
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
272
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
267
273
 
268
274
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
269
275
 
@@ -443,6 +449,10 @@
443
449
 
444
450
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
445
451
 
452
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
453
+
454
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
455
+
446
456
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
447
457
 
448
458
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -584,10 +594,10 @@
584
594
  <div class="method-source-code"
585
595
  id="new-source">
586
596
  <pre>
587
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 308</span>
588
- 308: <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>)
589
- 309: <span class="ruby-keyword kw">super</span>
590
- 310: <span class="ruby-keyword kw">end</span></pre>
597
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 309</span>
598
+ 309: <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>)
599
+ 310: <span class="ruby-keyword kw">super</span>
600
+ 311: <span class="ruby-keyword kw">end</span></pre>
591
601
  </div>
592
602
 
593
603
  </div>
@@ -624,10 +634,10 @@
624
634
  <div class="method-source-code"
625
635
  id="to-s-source">
626
636
  <pre>
627
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 312</span>
628
- 312: <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>)
629
- 313: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
630
- 314: <span class="ruby-keyword kw">end</span></pre>
637
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 313</span>
638
+ 313: <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>)
639
+ 314: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
640
+ 315: <span class="ruby-keyword kw">end</span></pre>
631
641
  </div>
632
642
 
633
643
  </div>
@@ -73,8 +73,6 @@
73
73
 
74
74
  <li><a href="#method-i-addTask">#addTask</a></li>
75
75
 
76
- <li><a href="#method-i-collectAndSortArrows">#collectAndSortArrows</a></li>
77
-
78
76
  <li><a href="#method-i-completeChart">#completeChart</a></li>
79
77
 
80
78
  <li><a href="#method-i-dateToX">#dateToX</a></li>
@@ -83,11 +81,11 @@
83
81
 
84
82
  <li><a href="#method-i-generateByWidth">#generateByWidth</a></li>
85
83
 
86
- <li><a href="#method-i-generateDepArrows">#generateDepArrows</a></li>
84
+ <li><a href="#method-i-generateDepLines">#generateDepLines</a></li>
87
85
 
88
- <li><a href="#method-i-hasScrollbar%3F">#hasScrollbar?</a></li>
86
+ <li><a href="#method-i-generateTaskDepLines">#generateTaskDepLines</a></li>
89
87
 
90
- <li><a href="#method-i-routeArrow">#routeArrow</a></li>
88
+ <li><a href="#method-i-hasScrollbar%3F">#hasScrollbar?</a></li>
91
89
 
92
90
  <li><a href="#method-i-scaleByName">#scaleByName</a></li>
93
91
 
@@ -184,12 +182,18 @@
184
182
 
185
183
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
186
184
 
185
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
186
+
187
187
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
188
188
 
189
189
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
190
190
 
191
191
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
192
192
 
193
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
194
+
195
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
196
+
193
197
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
194
198
 
195
199
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -296,7 +300,7 @@
296
300
 
297
301
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
298
302
 
299
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
303
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
300
304
 
301
305
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
302
306
 
@@ -476,6 +480,10 @@
476
480
 
477
481
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
478
482
 
483
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
484
+
485
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
486
+
479
487
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
480
488
 
481
489
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -1090,7 +1098,7 @@ Returns true if the chart includes a scrollbar.
1090
1098
  <div class="method-heading">
1091
1099
 
1092
1100
  <span class="method-name">to_csv</span><span
1093
- class="method-args">()</span>
1101
+ class="method-args">(csv, startColumn)</span>
1094
1102
  <span class="method-click-advice">click to toggle source</span>
1095
1103
 
1096
1104
  </div>
@@ -1107,9 +1115,9 @@ This is a noop function.
1107
1115
  id="to-csv-source">
1108
1116
  <pre>
1109
1117
  <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 201</span>
1110
- 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
1118
+ 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">startColumn</span>)
1111
1119
  202: <span class="ruby-comment cmt"># Can't put a Gantt chart into a CSV file.</span>
1112
- 203: <span class="ruby-value str">''</span>
1120
+ 203: <span class="ruby-value">0</span>
1113
1121
  204: <span class="ruby-keyword kw">end</span></pre>
1114
1122
  </div>
1115
1123
 
@@ -1218,81 +1226,6 @@ Convert the chart into an HTML representation.
1218
1226
  <h3 class="section-header">Private Instance Methods</h3>
1219
1227
 
1220
1228
 
1221
- <div id="collect-nd-ort-rrows-method" class="method-detail ">
1222
- <a name="method-i-collectAndSortArrows"></a>
1223
-
1224
- <div class="method-heading">
1225
-
1226
- <span class="method-name">collectAndSortArrows</span><span
1227
- class="method-args">(kind, task, scenarioIdx, lineIndex, startX, startY)</span>
1228
- <span class="method-click-advice">click to toggle source</span>
1229
-
1230
- </div>
1231
-
1232
- <div class="method-description">
1233
-
1234
- <p>
1235
- Generate the dependencies on the start or end of the task depending on
1236
- <em>kind</em>. Use &#8216;startsuccs&#8217; for the start and
1237
- &#8216;endsuccs&#8217; for end. <em>startX</em> and <em>startY</em> are the
1238
- graphic coordinates for the begin of the arrow line. <em>task</em>
1239
- references the <a href="Task.html">Task</a> in question and
1240
- <em>scenarioIdx</em> the scenario. <em>lineIndex</em> specifies the line
1241
- number in the chart.
1242
- </p>
1243
-
1244
-
1245
-
1246
- <div class="method-source-code"
1247
- id="collect-nd-ort-rrows-source">
1248
- <pre>
1249
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 281</span>
1250
- 281: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectAndSortArrows</span>(<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>, <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>)
1251
- 282: <span class="ruby-comment cmt"># We need to sort the arrows. This is an Array that holds 6 values for</span>
1252
- 283: <span class="ruby-comment cmt"># each entry: The x and y coordinates for start and end points, the</span>
1253
- 284: <span class="ruby-comment cmt"># sinus value of the angle between a vertical and the line specified by</span>
1254
- 285: <span class="ruby-comment cmt"># the points and the length of the line.</span>
1255
- 286: <span class="ruby-identifier">touples</span> = []
1256
- 287: <span class="ruby-identifier">task</span>[<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span>, <span class="ruby-identifier">onEnd</span><span class="ruby-operator">|</span>
1257
- 288: <span class="ruby-comment cmt"># Skip inherited dependencies and tasks that are not included in the</span>
1258
- 289: <span class="ruby-comment cmt"># chart.</span>
1259
- 290: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">&amp;&amp;</span>
1260
- 291: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasDependency?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">kind</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">onEnd</span>)) <span class="ruby-operator">||</span>
1261
- 292: <span class="ruby-operator">!</span><span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">t</span>)
1262
- 293: <span class="ruby-keyword kw">next</span>
1263
- 294: <span class="ruby-keyword kw">end</span>
1264
- 295: <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> = <span class="ruby-ivar">@tasks</span>[<span class="ruby-identifier">t</span>][<span class="ruby-identifier">lineIndex</span>].<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">send</span>(
1265
- 296: <span class="ruby-identifier">onEnd</span> <span class="ruby-operator">?</span> <span class="ruby-value">:endDepLineEnd</span> <span class="ruby-operator">:</span> <span class="ruby-value">:startDepLineEnd</span>)
1266
- 297: <span class="ruby-comment cmt"># To make sure that we minimize the crossings of arrows that</span>
1267
- 298: <span class="ruby-comment cmt"># originate from the same position, we sort the arrows by the</span>
1268
- 299: <span class="ruby-comment cmt"># smallest angle between the vertical line through the task end</span>
1269
- 300: <span class="ruby-comment cmt"># and the line between the start and end of the arrow.</span>
1270
- 301: <span class="ruby-identifier">oppLeg</span> = <span class="ruby-identifier">endX</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startX</span>
1271
- 302: <span class="ruby-identifier">adjLeg</span> = (<span class="ruby-identifier">startY</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">endY</span>).<span class="ruby-identifier">abs</span>
1272
- 303: <span class="ruby-identifier">hypothenuse</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>(<span class="ruby-identifier">adjLeg</span> <span class="ruby-operator">**</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">oppLeg</span> <span class="ruby-operator">**</span> <span class="ruby-value">2</span>)
1273
- 304: <span class="ruby-comment cmt"># We can now calculate the sinus values of the angle between the</span>
1274
- 305: <span class="ruby-comment cmt"># vertical and a line through the coordinates.</span>
1275
- 306: <span class="ruby-identifier">touples</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>, <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span>,
1276
- 307: (<span class="ruby-identifier">oppLeg</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">hypothenuse</span>), <span class="ruby-identifier">hypothenuse</span> ]
1277
- 308: <span class="ruby-keyword kw">end</span>
1278
- 309: <span class="ruby-comment cmt"># We sort the arrows from small to a large angle. In case the angle is</span>
1279
- 310: <span class="ruby-comment cmt"># identical, we use the length of the line as second criteria.</span>
1280
- 311: <span class="ruby-identifier">touples</span>.<span class="ruby-identifier">sort!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t1</span>[<span class="ruby-value">4</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">t2</span>[<span class="ruby-value">4</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">t1</span>[<span class="ruby-value">5</span>] <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">t2</span>[<span class="ruby-value">5</span>] <span class="ruby-operator">:</span>
1281
- 312: <span class="ruby-identifier">t1</span>[<span class="ruby-value">4</span>] <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">t2</span>[<span class="ruby-value">4</span>] }
1282
- 313: <span class="ruby-identifier">touples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
1283
- 314: <span class="ruby-identifier">routeArrow</span>(*<span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>, <span class="ruby-value">4</span>])
1284
- 315: <span class="ruby-keyword kw">end</span>
1285
- 316: <span class="ruby-keyword kw">end</span></pre>
1286
- </div>
1287
-
1288
- </div>
1289
-
1290
-
1291
-
1292
-
1293
- </div>
1294
-
1295
-
1296
1229
  <div id="complete-hart-method" class="method-detail ">
1297
1230
  <a name="method-i-completeChart"></a>
1298
1231
 
@@ -1321,18 +1254,32 @@ Calculate the overall height of the chart and generate dependency arrows.
1321
1254
  240: <span class="ruby-ivar">@height</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">height</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">height</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@height</span>
1322
1255
  241: <span class="ruby-keyword kw">end</span>
1323
1256
  242:
1324
- 243: <span class="ruby-ivar">@router</span> = <span class="ruby-constant">GanttRouter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@width</span>, <span class="ruby-ivar">@height</span>)
1325
- 244:
1326
- 245: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1327
- 246: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-ivar">@router</span>)
1328
- 247: <span class="ruby-keyword kw">end</span>
1329
- 248:
1330
- 249: <span class="ruby-ivar">@router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">nowLineX</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-value">0</span>, <span class="ruby-value">3</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
1331
- 250:
1332
- 251: <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span><span class="ruby-operator">|</span>
1333
- 252: <span class="ruby-identifier">generateDepArrows</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
1334
- 253: <span class="ruby-keyword kw">end</span>
1335
- 254: <span class="ruby-keyword kw">end</span></pre>
1257
+ 243: <span class="ruby-comment cmt"># To layout the dependency lines, we use a GanttRouter. We only provide</span>
1258
+ 244: <span class="ruby-comment cmt"># the start and end coordinates of each line and it will do the layout</span>
1259
+ 245: <span class="ruby-comment cmt"># and routing.</span>
1260
+ 246: <span class="ruby-ivar">@router</span> = <span class="ruby-constant">GanttRouter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@width</span>, <span class="ruby-ivar">@height</span>)
1261
+ 247:
1262
+ 248: <span class="ruby-comment cmt"># We don't want horizontal lines to cross the task bars. So we block</span>
1263
+ 249: <span class="ruby-comment cmt"># these chart zones. Milestones should not be crossed in any direction.</span>
1264
+ 250: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1265
+ 251: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-ivar">@router</span>)
1266
+ 252: <span class="ruby-keyword kw">end</span>
1267
+ 253:
1268
+ 254: <span class="ruby-comment cmt"># Also protect the current date line from other vertical lines.</span>
1269
+ 255: <span class="ruby-ivar">@router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">nowLineX</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-value">0</span>, <span class="ruby-value">3</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
1270
+ 256:
1271
+ 257: <span class="ruby-comment cmt"># Generate the dependency arrows for all visible tasks.</span>
1272
+ 258: <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span><span class="ruby-operator">|</span>
1273
+ 259: <span class="ruby-identifier">generateDepLines</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
1274
+ 260: <span class="ruby-keyword kw">end</span>
1275
+ 261:
1276
+ 262: <span class="ruby-comment cmt"># Make sure we have exactly one arrow head for each line end point even</span>
1277
+ 263: <span class="ruby-comment cmt"># if the point is used by multiple lines.</span>
1278
+ 264: <span class="ruby-ivar">@depArrows</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1279
+ 265: <span class="ruby-identifier">endPoint</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">last</span>
1280
+ 266: <span class="ruby-ivar">@arrowHeads</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">endPoint</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@arrowHeads</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">endPoint</span>)
1281
+ 267: <span class="ruby-keyword kw">end</span>
1282
+ 268: <span class="ruby-keyword kw">end</span></pre>
1336
1283
  </div>
1337
1284
 
1338
1285
  </div>
@@ -1343,12 +1290,12 @@ Calculate the overall height of the chart and generate dependency arrows.
1343
1290
  </div>
1344
1291
 
1345
1292
 
1346
- <div id="generate-ep-rrows-method" class="method-detail ">
1347
- <a name="method-i-generateDepArrows"></a>
1293
+ <div id="generate-ep-ines-method" class="method-detail ">
1294
+ <a name="method-i-generateDepLines"></a>
1348
1295
 
1349
1296
  <div class="method-heading">
1350
1297
 
1351
- <span class="method-name">generateDepArrows</span><span
1298
+ <span class="method-name">generateDepLines</span><span
1352
1299
  class="method-args">(task, lines)</span>
1353
1300
  <span class="method-click-advice">click to toggle source</span>
1354
1301
 
@@ -1366,24 +1313,24 @@ lines per task.
1366
1313
 
1367
1314
 
1368
1315
  <div class="method-source-code"
1369
- id="generate-ep-rrows-source">
1316
+ id="generate-ep-ines-source">
1370
1317
  <pre>
1371
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 260</span>
1372
- 260: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateDepArrows</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
1373
- 261: <span class="ruby-comment cmt"># Since we need the line and the index we use an index iterator.</span>
1374
- 262: <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">lineIndex</span><span class="ruby-operator">|</span>
1375
- 263: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">lines</span>[<span class="ruby-identifier">lineIndex</span>]
1376
- 264: <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scenarioIdx</span>
1377
- 265:
1378
- 266: <span class="ruby-comment cmt"># Generate the dependencies on the start of the task.</span>
1379
- 267: <span class="ruby-identifier">collectAndSortArrows</span>(<span class="ruby-value str">'startsuccs'</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>,
1380
- 268: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">startDepLineStart</span>)
1381
- 269:
1382
- 270: <span class="ruby-comment cmt"># Generate the dependencies on the end of the task.</span>
1383
- 271: <span class="ruby-identifier">collectAndSortArrows</span>(<span class="ruby-value str">'endsuccs'</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>,
1384
- 272: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">endDepLineStart</span>)
1385
- 273: <span class="ruby-keyword kw">end</span>
1386
- 274: <span class="ruby-keyword kw">end</span></pre>
1318
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 274</span>
1319
+ 274: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateDepLines</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
1320
+ 275: <span class="ruby-comment cmt"># Since we need the line and the index we use an index iterator.</span>
1321
+ 276: <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">lineIndex</span><span class="ruby-operator">|</span>
1322
+ 277: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">lines</span>[<span class="ruby-identifier">lineIndex</span>]
1323
+ 278: <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scenarioIdx</span>
1324
+ 279:
1325
+ 280: <span class="ruby-comment cmt"># Generate the dependencies on the start of the task.</span>
1326
+ 281: <span class="ruby-identifier">generateTaskDepLines</span>(<span class="ruby-value str">'startsuccs'</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>,
1327
+ 282: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">startDepLineStart</span>)
1328
+ 283:
1329
+ 284: <span class="ruby-comment cmt"># Generate the dependencies on the end of the task.</span>
1330
+ 285: <span class="ruby-identifier">generateTaskDepLines</span>(<span class="ruby-value str">'endsuccs'</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>,
1331
+ 286: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">endDepLineStart</span>)
1332
+ 287: <span class="ruby-keyword kw">end</span>
1333
+ 288: <span class="ruby-keyword kw">end</span></pre>
1387
1334
  </div>
1388
1335
 
1389
1336
  </div>
@@ -1394,13 +1341,13 @@ lines per task.
1394
1341
  </div>
1395
1342
 
1396
1343
 
1397
- <div id="route-rrow-method" class="method-detail ">
1398
- <a name="method-i-routeArrow"></a>
1344
+ <div id="generate-ask-ep-ines-method" class="method-detail ">
1345
+ <a name="method-i-generateTaskDepLines"></a>
1399
1346
 
1400
1347
  <div class="method-heading">
1401
1348
 
1402
- <span class="method-name">routeArrow</span><span
1403
- class="method-args">(startX, startY, endX, endY)</span>
1349
+ <span class="method-name">generateTaskDepLines</span><span
1350
+ class="method-args">(kind, task, scenarioIdx, lineIndex, startX, startY)</span>
1404
1351
  <span class="method-click-advice">click to toggle source</span>
1405
1352
 
1406
1353
  </div>
@@ -1408,25 +1355,39 @@ lines per task.
1408
1355
  <div class="method-description">
1409
1356
 
1410
1357
  <p>
1411
- Route the dependency lines from the start to the end point.
1358
+ Generate the dependencies on the start or end of the task depending on
1359
+ <em>kind</em>. Use &#8216;startsuccs&#8217; for the start and
1360
+ &#8216;endsuccs&#8217; for end. <em>startX</em> and <em>startY</em> are the
1361
+ graphic coordinates for the begin of the arrow line. <em>task</em>
1362
+ references the <a href="Task.html">Task</a> in question and
1363
+ <em>scenarioIdx</em> the scenario. <em>lineIndex</em> specifies the line
1364
+ number in the chart.
1412
1365
  </p>
1413
1366
 
1414
1367
 
1415
1368
 
1416
1369
  <div class="method-source-code"
1417
- id="route-rrow-source">
1370
+ id="generate-ask-ep-ines-source">
1418
1371
  <pre>
1419
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 319</span>
1420
- 319: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">routeArrow</span>(<span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>, <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span>)
1421
- 320: <span class="ruby-ivar">@depArrows</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@router</span>.<span class="ruby-identifier">route</span>([<span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>], [<span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span>])
1422
- 321:
1423
- 322: <span class="ruby-comment cmt"># It's enough to have only a single arrow drawn at the end point even if</span>
1424
- 323: <span class="ruby-comment cmt"># it's the destination of multiple lines.</span>
1425
- 324: <span class="ruby-ivar">@arrowHeads</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span><span class="ruby-operator">|</span>
1426
- 325: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endX</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">y</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endY</span>
1427
- 326: <span class="ruby-keyword kw">end</span>
1428
- 327: <span class="ruby-ivar">@arrowHeads</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> ]
1429
- 328: <span class="ruby-keyword kw">end</span></pre>
1372
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 295</span>
1373
+ 295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateTaskDepLines</span>(<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>, <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>)
1374
+ 296: <span class="ruby-comment cmt"># This is an Array that holds 4 values for</span>
1375
+ 297: <span class="ruby-comment cmt"># each entry: The x and y coordinates for start and end points.</span>
1376
+ 298: <span class="ruby-identifier">touples</span> = []
1377
+ 299: <span class="ruby-identifier">task</span>[<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span>, <span class="ruby-identifier">onEnd</span><span class="ruby-operator">|</span>
1378
+ 300: <span class="ruby-comment cmt"># Skip inherited dependencies and tasks that are not included in the</span>
1379
+ 301: <span class="ruby-comment cmt"># chart.</span>
1380
+ 302: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">&amp;&amp;</span>
1381
+ 303: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasDependency?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">kind</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">onEnd</span>)) <span class="ruby-operator">||</span>
1382
+ 304: <span class="ruby-operator">!</span><span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">t</span>)
1383
+ 305: <span class="ruby-keyword kw">next</span>
1384
+ 306: <span class="ruby-keyword kw">end</span>
1385
+ 307: <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> = <span class="ruby-ivar">@tasks</span>[<span class="ruby-identifier">t</span>][<span class="ruby-identifier">lineIndex</span>].<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">send</span>(
1386
+ 308: <span class="ruby-identifier">onEnd</span> <span class="ruby-operator">?</span> <span class="ruby-value">:endDepLineEnd</span> <span class="ruby-operator">:</span> <span class="ruby-value">:startDepLineEnd</span>)
1387
+ 309: <span class="ruby-identifier">touples</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>, <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> ]
1388
+ 310: <span class="ruby-keyword kw">end</span>
1389
+ 311: <span class="ruby-ivar">@depArrows</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@router</span>.<span class="ruby-identifier">routeLines</span>(<span class="ruby-identifier">touples</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">touples</span>.<span class="ruby-identifier">empty?</span>()
1390
+ 312: <span class="ruby-keyword kw">end</span></pre>
1430
1391
  </div>
1431
1392
 
1432
1393
  </div>
@@ -172,12 +172,18 @@
172
172
 
173
173
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
174
174
 
175
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
176
+
175
177
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
176
178
 
177
179
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
178
180
 
179
181
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
180
182
 
183
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
184
+
185
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
186
+
181
187
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
182
188
 
183
189
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -284,7 +290,7 @@
284
290
 
285
291
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
286
292
 
287
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
293
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
288
294
 
289
295
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
290
296
 
@@ -464,6 +470,10 @@
464
470
 
465
471
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
466
472
 
473
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
474
+
475
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
476
+
467
477
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
468
478
 
469
479
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -155,12 +155,18 @@
155
155
 
156
156
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
157
157
 
158
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
159
+
158
160
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
159
161
 
160
162
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
161
163
 
162
164
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
163
165
 
166
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
167
+
168
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
169
+
164
170
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
165
171
 
166
172
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -267,7 +273,7 @@
267
273
 
268
274
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
269
275
 
270
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
276
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
271
277
 
272
278
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
273
279
 
@@ -447,6 +453,10 @@
447
453
 
448
454
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
449
455
 
456
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
457
+
458
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
459
+
450
460
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
451
461
 
452
462
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>