taskjuggler 0.0.5 → 0.0.6

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 (544) hide show
  1. data/CHANGELOG +2086 -0
  2. data/benchmarks/666tasks.tjp +3183 -0
  3. data/benchmarks/booking.tjp +14 -10
  4. data/doc/AppConfig.html +95 -73
  5. data/doc/Arguments.html +22 -2
  6. data/doc/CHANGELOG.html +2587 -0
  7. data/doc/COPYING.html +21 -1
  8. data/doc/Object.html +161 -122
  9. data/doc/README.html +21 -1
  10. data/doc/RuntimeConfig.html +26 -6
  11. data/doc/String.html +38 -18
  12. data/doc/StringIO.html +579 -0
  13. data/doc/TaskJuggler.html +251 -143
  14. data/doc/TaskJuggler/Account.html +26 -6
  15. data/doc/TaskJuggler/AccountAttribute.html +28 -8
  16. data/doc/TaskJuggler/AccountScenario.html +24 -4
  17. data/doc/TaskJuggler/Allocation.html +30 -10
  18. data/doc/TaskJuggler/AllocationAttribute.html +28 -8
  19. data/doc/TaskJuggler/AttributeBase.html +46 -26
  20. data/doc/TaskJuggler/AttributeDefinition.html +22 -2
  21. data/doc/TaskJuggler/BatchProcessor.html +40 -20
  22. data/doc/TaskJuggler/Booking.html +26 -6
  23. data/doc/TaskJuggler/BookingListAttribute.html +28 -8
  24. data/doc/TaskJuggler/BooleanAttribute.html +28 -8
  25. data/doc/TaskJuggler/CSVFile.html +308 -146
  26. data/doc/TaskJuggler/CellSettingPattern.html +22 -2
  27. data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
  28. data/doc/TaskJuggler/Charge.html +26 -6
  29. data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
  30. data/doc/TaskJuggler/ChargeSet.html +33 -13
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
  32. data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
  33. data/doc/TaskJuggler/ColumnTable.html +24 -4
  34. data/doc/TaskJuggler/Daemon.html +26 -6
  35. data/doc/TaskJuggler/DateAttribute.html +26 -6
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
  37. data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
  38. data/doc/TaskJuggler/DurationAttribute.html +28 -8
  39. data/doc/TaskJuggler/FixnumAttribute.html +24 -4
  40. data/doc/TaskJuggler/FlagListAttribute.html +28 -8
  41. data/doc/TaskJuggler/FloatAttribute.html +26 -6
  42. data/doc/TaskJuggler/FormatListAttribute.html +24 -4
  43. data/doc/TaskJuggler/GanttChart.html +147 -126
  44. data/doc/TaskJuggler/GanttContainer.html +34 -14
  45. data/doc/TaskJuggler/GanttHeader.html +28 -8
  46. data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
  47. data/doc/TaskJuggler/GanttLine.html +38 -18
  48. data/doc/TaskJuggler/GanttLoadStack.html +26 -6
  49. data/doc/TaskJuggler/GanttMilestone.html +34 -14
  50. data/doc/TaskJuggler/GanttRouter.html +50 -30
  51. data/doc/TaskJuggler/GanttTaskBar.html +34 -14
  52. data/doc/TaskJuggler/HTMLDocument.html +26 -6
  53. data/doc/TaskJuggler/HTMLGraphics.html +30 -10
  54. data/doc/TaskJuggler/Interval.html +40 -22
  55. data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
  56. data/doc/TaskJuggler/JobInfo.html +24 -4
  57. data/doc/TaskJuggler/Journal.html +226 -147
  58. data/doc/TaskJuggler/JournalEntry.html +22 -2
  59. data/doc/TaskJuggler/JournalEntryList.html +129 -112
  60. data/doc/TaskJuggler/KeywordArray.html +26 -6
  61. data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
  62. data/doc/TaskJuggler/Limits.html +152 -123
  63. data/doc/TaskJuggler/Limits/Limit.html +149 -70
  64. data/doc/TaskJuggler/LimitsAttribute.html +36 -51
  65. data/doc/TaskJuggler/ListAttributeBase.html +24 -4
  66. data/doc/TaskJuggler/Log.html +50 -32
  67. data/doc/TaskJuggler/LogFile.html +37 -17
  68. data/doc/TaskJuggler/LogicalAttribute.html +53 -33
  69. data/doc/TaskJuggler/LogicalExpression.html +26 -6
  70. data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
  71. data/doc/TaskJuggler/LogicalFlag.html +42 -22
  72. data/doc/TaskJuggler/LogicalFunction.html +204 -140
  73. data/doc/TaskJuggler/LogicalOperation.html +135 -111
  74. data/doc/TaskJuggler/Macro.html +22 -2
  75. data/doc/TaskJuggler/MacroParser.html +32 -12
  76. data/doc/TaskJuggler/MacroTable.html +32 -12
  77. data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
  78. data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
  79. data/doc/TaskJuggler/Message.html +24 -4
  80. data/doc/TaskJuggler/MessageHandler.html +24 -4
  81. data/doc/TaskJuggler/Navigator.html +104 -71
  82. data/doc/TaskJuggler/NavigatorElement.html +32 -12
  83. data/doc/TaskJuggler/NikuProject.html +22 -2
  84. data/doc/TaskJuggler/NikuReport.html +310 -228
  85. data/doc/TaskJuggler/NikuResource.html +22 -2
  86. data/doc/TaskJuggler/NodeListAttribute.html +615 -0
  87. data/doc/TaskJuggler/OnShiftCache.html +32 -12
  88. data/doc/TaskJuggler/ProcessIntercom.html +205 -78
  89. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
  90. data/doc/TaskJuggler/Project.html +708 -660
  91. data/doc/TaskJuggler/ProjectBroker.html +506 -304
  92. data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
  93. data/doc/TaskJuggler/ProjectFileParser.html +429 -373
  94. data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
  95. data/doc/TaskJuggler/ProjectRecord.html +80 -60
  96. data/doc/TaskJuggler/ProjectServer.html +312 -237
  97. data/doc/TaskJuggler/ProjectServerIface.html +101 -43
  98. data/doc/TaskJuggler/PropertyAttribute.html +32 -12
  99. data/doc/TaskJuggler/PropertyList.html +166 -145
  100. data/doc/TaskJuggler/PropertySet.html +254 -224
  101. data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
  102. data/doc/TaskJuggler/Query.html +169 -148
  103. data/doc/TaskJuggler/RTFHandlers.html +622 -0
  104. data/doc/TaskJuggler/RTFNavigator.html +28 -8
  105. data/doc/TaskJuggler/RTFQuery.html +40 -20
  106. data/doc/TaskJuggler/RTFReport.html +62 -25
  107. data/doc/TaskJuggler/RTFReportLink.html +765 -0
  108. data/doc/TaskJuggler/RealFormat.html +26 -6
  109. data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
  110. data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
  111. data/doc/TaskJuggler/Report.html +402 -251
  112. data/doc/TaskJuggler/ReportBase.html +162 -137
  113. data/doc/TaskJuggler/ReportContext.html +112 -29
  114. data/doc/TaskJuggler/ReportServer.html +89 -64
  115. data/doc/TaskJuggler/ReportServerIface.html +75 -55
  116. data/doc/TaskJuggler/ReportServerRecord.html +54 -31
  117. data/doc/TaskJuggler/ReportServlet.html +980 -0
  118. data/doc/TaskJuggler/ReportTable.html +41 -21
  119. data/doc/TaskJuggler/ReportTableCell.html +214 -170
  120. data/doc/TaskJuggler/ReportTableColumn.html +30 -10
  121. data/doc/TaskJuggler/ReportTableLegend.html +36 -16
  122. data/doc/TaskJuggler/ReportTableLine.html +32 -12
  123. data/doc/TaskJuggler/Resource.html +99 -87
  124. data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
  125. data/doc/TaskJuggler/ResourceListRE.html +47 -26
  126. data/doc/TaskJuggler/ResourceScenario.html +403 -437
  127. data/doc/TaskJuggler/RichText.html +26 -6
  128. data/doc/TaskJuggler/RichTextAttribute.html +50 -30
  129. data/doc/TaskJuggler/RichTextDocument.html +37 -17
  130. data/doc/TaskJuggler/RichTextElement.html +475 -413
  131. data/doc/TaskJuggler/RichTextException.html +22 -2
  132. data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
  133. data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
  134. data/doc/TaskJuggler/RichTextImage.html +22 -2
  135. data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
  136. data/doc/TaskJuggler/RichTextParser.html +56 -34
  137. data/doc/TaskJuggler/RichTextScanner.html +82 -61
  138. data/doc/TaskJuggler/RichTextSnip.html +34 -14
  139. data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
  140. data/doc/TaskJuggler/Scenario.html +22 -2
  141. data/doc/TaskJuggler/ScenarioData.html +30 -46
  142. data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
  143. data/doc/TaskJuggler/Scoreboard.html +42 -22
  144. data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
  145. data/doc/TaskJuggler/SheetReceiver.html +333 -295
  146. data/doc/TaskJuggler/SheetSender.html +253 -230
  147. data/doc/TaskJuggler/Shift.html +26 -6
  148. data/doc/TaskJuggler/ShiftAssignment.html +89 -73
  149. data/doc/TaskJuggler/ShiftAssignments.html +226 -234
  150. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
  151. data/doc/TaskJuggler/ShiftScenario.html +28 -8
  152. data/doc/TaskJuggler/SortListAttribute.html +34 -14
  153. data/doc/TaskJuggler/SourceFileInfo.html +24 -4
  154. data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
  155. data/doc/TaskJuggler/StatusSheetReport.html +168 -153
  156. data/doc/TaskJuggler/StatusSheetSender.html +24 -3
  157. data/doc/TaskJuggler/StringAttribute.html +38 -18
  158. data/doc/TaskJuggler/SymbolAttribute.html +32 -12
  159. data/doc/TaskJuggler/SyntaxReference.html +40 -20
  160. data/doc/TaskJuggler/TOCEntry.html +26 -6
  161. data/doc/TaskJuggler/TSResourceRecord.html +22 -2
  162. data/doc/TaskJuggler/TSTaskRecord.html +22 -2
  163. data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
  164. data/doc/TaskJuggler/TableOfContents.html +26 -6
  165. data/doc/TaskJuggler/TableReport.html +937 -904
  166. data/doc/TaskJuggler/Task.html +55 -36
  167. data/doc/TaskJuggler/TaskDependency.html +24 -4
  168. data/doc/TaskJuggler/TaskListAttribute.html +50 -30
  169. data/doc/TaskJuggler/TaskListRE.html +27 -7
  170. data/doc/TaskJuggler/TaskScenario.html +1273 -1153
  171. data/doc/TaskJuggler/TextFormatter.html +28 -8
  172. data/doc/TaskJuggler/TextParser.html +585 -338
  173. data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
  174. data/doc/TaskJuggler/TextParser/Rule.html +95 -73
  175. data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
  176. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
  177. data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
  178. data/doc/TaskJuggler/TextReport.html +28 -8
  179. data/doc/TaskJuggler/TextScanner.html +400 -1404
  180. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
  181. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
  182. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
  183. data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
  184. data/doc/TaskJuggler/TimeSheet.html +48 -28
  185. data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
  186. data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
  187. data/doc/TaskJuggler/TimeSheetReport.html +154 -133
  188. data/doc/TaskJuggler/TimeSheetSender.html +24 -3
  189. data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
  190. data/doc/TaskJuggler/TimeSheets.html +26 -6
  191. data/doc/TaskJuggler/Tj3AppBase.html +85 -58
  192. data/doc/TaskJuggler/Tj3Client.html +292 -238
  193. data/doc/TaskJuggler/Tj3Daemon.html +159 -74
  194. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
  195. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
  196. data/doc/TaskJuggler/Tj3SsSender.html +53 -26
  197. data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
  198. data/doc/TaskJuggler/Tj3TsSender.html +26 -6
  199. data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
  200. data/doc/TaskJuggler/TjException.html +22 -2
  201. data/doc/TaskJuggler/TjTime.html +216 -160
  202. data/doc/TaskJuggler/TjpExample.html +34 -14
  203. data/doc/TaskJuggler/TjpExportRE.html +403 -407
  204. data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
  205. data/doc/TaskJuggler/URLParameter.html +649 -0
  206. data/doc/TaskJuggler/UserManual.html +42 -22
  207. data/doc/TaskJuggler/WebServer.html +702 -0
  208. data/doc/TaskJuggler/WorkingHours.html +38 -18
  209. data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
  210. data/doc/TaskJuggler/XMLBlob.html +24 -4
  211. data/doc/TaskJuggler/XMLComment.html +24 -4
  212. data/doc/TaskJuggler/XMLDocument.html +30 -10
  213. data/doc/TaskJuggler/XMLElement.html +34 -14
  214. data/doc/TaskJuggler/XMLNamedText.html +22 -2
  215. data/doc/TaskJuggler/XMLText.html +24 -4
  216. data/doc/index.html +1841 -1666
  217. data/doc/lib/AccountScenario_rb.html +1 -1
  218. data/doc/lib/Account_rb.html +1 -1
  219. data/doc/lib/Allocation_rb.html +1 -1
  220. data/doc/lib/AppConfig_rb.html +2 -2
  221. data/doc/lib/AttributeBase_rb.html +1 -1
  222. data/doc/lib/AttributeDefinition_rb.html +1 -1
  223. data/doc/lib/Attributes_rb.html +2 -2
  224. data/doc/lib/BatchProcessor_rb.html +1 -1
  225. data/doc/lib/Booking_rb.html +1 -1
  226. data/doc/lib/ChargeSet_rb.html +1 -1
  227. data/doc/lib/Charge_rb.html +1 -1
  228. data/doc/lib/HTMLDocument_rb.html +1 -1
  229. data/doc/lib/Interval_rb.html +1 -1
  230. data/doc/lib/Journal_rb.html +2 -2
  231. data/doc/lib/KeywordArray_rb.html +1 -1
  232. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  233. data/doc/lib/Limits_rb.html +2 -2
  234. data/doc/lib/LogFile_rb.html +2 -2
  235. data/doc/lib/Log_rb.html +1 -1
  236. data/doc/lib/LogicalExpression_rb.html +1 -1
  237. data/doc/lib/LogicalFunction_rb.html +2 -2
  238. data/doc/lib/LogicalOperation_rb.html +2 -2
  239. data/doc/lib/MacroParser_rb.html +1 -1
  240. data/doc/lib/MacroTable_rb.html +1 -1
  241. data/doc/lib/MessageHandler_rb.html +1 -1
  242. data/doc/lib/Message_rb.html +1 -1
  243. data/doc/lib/ProjectFileParser_rb.html +4 -8
  244. data/doc/lib/ProjectFileScanner_rb.html +67 -0
  245. data/doc/lib/Project_rb.html +2 -2
  246. data/doc/lib/PropertyList_rb.html +2 -2
  247. data/doc/lib/PropertySet_rb.html +2 -2
  248. data/doc/lib/PropertyTreeNode_rb.html +2 -2
  249. data/doc/lib/Query_rb.html +2 -2
  250. data/doc/lib/RTFHandlers_rb.html +73 -0
  251. data/doc/lib/RTFNavigator_rb.html +1 -1
  252. data/doc/lib/RTFQuery_rb.html +1 -1
  253. data/doc/lib/RTFReportLink_rb.html +71 -0
  254. data/doc/lib/RTFReport_rb.html +2 -2
  255. data/doc/lib/RealFormat_rb.html +1 -1
  256. data/doc/lib/ResourceScenario_rb.html +2 -2
  257. data/doc/lib/Resource_rb.html +2 -2
  258. data/doc/lib/RichTextDocument_rb.html +1 -1
  259. data/doc/lib/RichTextElement_rb.html +2 -2
  260. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  261. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  262. data/doc/lib/RichTextParser_rb.html +2 -2
  263. data/doc/lib/RichTextScanner_rb.html +2 -2
  264. data/doc/lib/RichTextSnip_rb.html +1 -1
  265. data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
  266. data/doc/lib/RichText_rb.html +1 -1
  267. data/doc/lib/RuntimeConfig_rb.html +1 -1
  268. data/doc/lib/ScenarioData_rb.html +2 -2
  269. data/doc/lib/Scenario_rb.html +1 -1
  270. data/doc/lib/Scoreboard_rb.html +1 -1
  271. data/doc/lib/SheetHandlerBase_rb.html +1 -1
  272. data/doc/lib/SheetReceiver_rb.html +2 -2
  273. data/doc/lib/SheetSender_rb.html +4 -2
  274. data/doc/lib/ShiftAssignments_rb.html +4 -2
  275. data/doc/lib/ShiftScenario_rb.html +1 -1
  276. data/doc/lib/Shift_rb.html +1 -1
  277. data/doc/lib/SourceFileInfo_rb.html +1 -1
  278. data/doc/lib/StatusSheetReceiver_rb.html +2 -2
  279. data/doc/lib/StatusSheetSender_rb.html +2 -2
  280. data/doc/lib/SyntaxReference_rb.html +1 -1
  281. data/doc/lib/TOCEntry_rb.html +1 -1
  282. data/doc/lib/TableColumnDefinition_rb.html +2 -2
  283. data/doc/lib/TableOfContents_rb.html +1 -1
  284. data/doc/lib/TaskDependency_rb.html +1 -1
  285. data/doc/lib/TaskJuggler_rb.html +2 -2
  286. data/doc/lib/TaskScenario_rb.html +2 -2
  287. data/doc/lib/Task_rb.html +2 -2
  288. data/doc/lib/TextFormatter_rb.html +1 -1
  289. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  290. data/doc/lib/TextParser/Rule_rb.html +2 -2
  291. data/doc/lib/TextParser/StackElement_rb.html +2 -2
  292. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  293. data/doc/lib/TextParser_rb.html +2 -2
  294. data/doc/lib/TextScanner_rb.html +6 -2
  295. data/doc/lib/TimeSheetReceiver_rb.html +2 -2
  296. data/doc/lib/TimeSheetSender_rb.html +2 -2
  297. data/doc/lib/TimeSheetSummary_rb.html +2 -2
  298. data/doc/lib/TimeSheets_rb.html +2 -2
  299. data/doc/lib/Tj3AppBase_rb.html +2 -2
  300. data/doc/lib/Tj3Config_rb.html +2 -2
  301. data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
  302. data/doc/lib/TjException_rb.html +1 -1
  303. data/doc/lib/TjTime_rb.html +2 -2
  304. data/doc/lib/TjpExample_rb.html +1 -1
  305. data/doc/lib/TjpSyntaxRules_rb.html +2 -2
  306. data/doc/lib/URLParameter_rb.html +67 -0
  307. data/doc/lib/UTF8String_rb.html +1 -1
  308. data/doc/lib/UserManual_rb.html +1 -1
  309. data/doc/lib/WorkingHours_rb.html +1 -1
  310. data/doc/lib/XMLDocument_rb.html +2 -2
  311. data/doc/lib/XMLElement_rb.html +1 -1
  312. data/doc/lib/daemon/Daemon_rb.html +1 -1
  313. data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
  314. data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
  315. data/doc/lib/daemon/ProjectServer_rb.html +2 -2
  316. data/doc/lib/daemon/ReportServer_rb.html +2 -2
  317. data/doc/lib/daemon/WebServer_rb.html +75 -0
  318. data/doc/lib/deep_copy_rb.html +2 -2
  319. data/doc/lib/reports/CSVFile_rb.html +2 -2
  320. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  321. data/doc/lib/reports/GanttChart_rb.html +2 -2
  322. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  323. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  324. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  325. data/doc/lib/reports/GanttLine_rb.html +1 -1
  326. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  327. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  328. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  329. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  330. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  331. data/doc/lib/reports/Navigator_rb.html +2 -2
  332. data/doc/lib/reports/NikuReport_rb.html +2 -2
  333. data/doc/lib/reports/ReportBase_rb.html +2 -2
  334. data/doc/lib/reports/ReportContext_rb.html +2 -2
  335. data/doc/lib/reports/ReportTableCell_rb.html +2 -2
  336. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  337. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  338. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  339. data/doc/lib/reports/ReportTable_rb.html +2 -2
  340. data/doc/lib/reports/Report_rb.html +2 -2
  341. data/doc/lib/reports/ResourceListRE_rb.html +2 -2
  342. data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
  343. data/doc/lib/reports/TableReport_rb.html +2 -2
  344. data/doc/lib/reports/TaskListRE_rb.html +2 -2
  345. data/doc/lib/reports/TextReport_rb.html +1 -1
  346. data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
  347. data/doc/lib/reports/TjpExportRE_rb.html +2 -2
  348. data/doc/lib/ruby-signal-bug_rb.html +1 -1
  349. data/doc/lib/taskjuggler3_rb.html +2 -2
  350. data/doc/lib/tj3client_rb.html +2 -2
  351. data/doc/lib/tj3d_rb.html +2 -2
  352. data/doc/lib/tj3man_rb.html +1 -1
  353. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  354. data/doc/lib/tj3ss_sender_rb.html +2 -2
  355. data/doc/lib/tj3ts_receiver_rb.html +2 -2
  356. data/doc/lib/tj3ts_sender_rb.html +1 -1
  357. data/doc/lib/tj3ts_summary_rb.html +1 -1
  358. data/doc/rdoc.css +9 -4
  359. data/examples/tutorial.tjp +17 -15
  360. data/gem_spec.rb +3 -0
  361. data/lib/AppConfig.rb +3 -1
  362. data/lib/Attributes.rb +10 -8
  363. data/lib/Journal.rb +55 -20
  364. data/lib/Limits.rb +72 -46
  365. data/lib/LogFile.rb +3 -3
  366. data/lib/LogicalFunction.rb +19 -6
  367. data/lib/LogicalOperation.rb +5 -1
  368. data/lib/Project.rb +37 -9
  369. data/lib/ProjectFileParser.rb +25 -22
  370. data/lib/ProjectFileScanner.rb +365 -0
  371. data/lib/PropertyList.rb +2 -1
  372. data/lib/PropertySet.rb +14 -4
  373. data/lib/PropertyTreeNode.rb +42 -29
  374. data/lib/Query.rb +3 -1
  375. data/lib/RTFHandlers.rb +35 -0
  376. data/lib/RTFReport.rb +23 -6
  377. data/lib/RTFReportLink.rb +72 -0
  378. data/lib/Resource.rb +8 -16
  379. data/lib/ResourceScenario.rb +1 -22
  380. data/lib/RichTextElement.rb +42 -0
  381. data/lib/RichTextParser.rb +6 -4
  382. data/lib/RichTextScanner.rb +5 -5
  383. data/lib/RichTextSyntaxRules.rb +48 -10
  384. data/lib/ScenarioData.rb +5 -3
  385. data/lib/SheetReceiver.rb +24 -6
  386. data/lib/SheetSender.rb +17 -13
  387. data/lib/ShiftAssignments.rb +56 -52
  388. data/lib/StatusSheetReceiver.rb +1 -0
  389. data/lib/StatusSheetSender.rb +1 -0
  390. data/lib/TableColumnDefinition.rb +4 -2
  391. data/lib/Task.rb +8 -9
  392. data/lib/TaskJuggler.rb +21 -11
  393. data/lib/TaskScenario.rb +61 -26
  394. data/lib/TextParser.rb +268 -106
  395. data/lib/TextParser/Rule.rb +4 -2
  396. data/lib/TextParser/StackElement.rb +6 -4
  397. data/lib/TextScanner.rb +283 -700
  398. data/lib/TimeSheetReceiver.rb +1 -0
  399. data/lib/TimeSheetSender.rb +1 -0
  400. data/lib/TimeSheetSummary.rb +51 -26
  401. data/lib/TimeSheets.rb +1 -1
  402. data/lib/Tj3AppBase.rb +8 -1
  403. data/lib/Tj3Config.rb +1 -1
  404. data/lib/TjTime.rb +5 -0
  405. data/lib/TjpSyntaxRules.rb +360 -144
  406. data/lib/URLParameter.rb +30 -0
  407. data/lib/XMLDocument.rb +2 -2
  408. data/lib/daemon/ProcessIntercom.rb +50 -9
  409. data/lib/daemon/ProjectBroker.rb +63 -10
  410. data/lib/daemon/ProjectServer.rb +47 -16
  411. data/lib/daemon/ReportServer.rb +9 -4
  412. data/lib/daemon/WebServer.rb +204 -0
  413. data/lib/deep_copy.rb +4 -1
  414. data/lib/reports/CSVFile.rb +150 -66
  415. data/lib/reports/GanttChart.rb +2 -1
  416. data/lib/reports/Navigator.rb +18 -5
  417. data/lib/reports/NikuReport.rb +32 -2
  418. data/lib/reports/Report.rb +65 -37
  419. data/lib/reports/ReportBase.rb +14 -9
  420. data/lib/reports/ReportContext.rb +19 -4
  421. data/lib/reports/ReportTable.rb +2 -2
  422. data/lib/reports/ReportTableCell.rb +54 -30
  423. data/lib/reports/ResourceListRE.rb +4 -3
  424. data/lib/reports/StatusSheetReport.rb +8 -13
  425. data/lib/reports/TableReport.rb +47 -32
  426. data/lib/reports/TaskListRE.rb +3 -3
  427. data/lib/reports/TimeSheetReport.rb +14 -5
  428. data/lib/reports/TjpExportRE.rb +14 -19
  429. data/lib/taskjuggler3.rb +15 -0
  430. data/lib/tj3client.rb +9 -7
  431. data/lib/tj3d.rb +38 -10
  432. data/lib/tj3ss_sender.rb +7 -0
  433. data/lib/tj3ts_receiver.rb +1 -0
  434. data/manual/Day_To_Day_Juggling +1 -1
  435. data/manual/Rich_Text_Attributes +8 -0
  436. data/manual/TaskJuggler_2x_Migration +7 -0
  437. data/manual/The_TaskJuggler_Syntax +20 -6
  438. data/prj_cfg.rb +3 -2
  439. data/tasks/changelog.rake +36 -0
  440. data/tasks/csts.rake +2 -3
  441. data/tasks/gem.rake +10 -0
  442. data/tasks/missing.rake +0 -17
  443. data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
  444. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
  445. data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
  446. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
  447. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
  448. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
  449. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
  450. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  451. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  452. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  453. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  454. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  455. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  456. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  457. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  458. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  459. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  460. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  461. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
  462. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  463. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
  464. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
  465. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
  466. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  467. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
  468. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
  469. data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
  470. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
  471. data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
  472. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
  473. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
  474. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
  475. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
  476. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
  477. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  478. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  479. data/test/TestSuite/StatusSheets/run +3 -2
  480. data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
  481. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
  482. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
  483. data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
  484. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
  485. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
  486. data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
  487. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  488. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  489. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  490. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  491. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  492. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  493. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  494. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  495. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  496. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  497. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  498. data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
  499. data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
  500. data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
  501. data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
  502. data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
  503. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  504. data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
  505. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  506. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
  507. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
  508. data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
  509. data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
  510. data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
  511. data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
  512. data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
  513. data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
  514. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  515. data/test/TestSuite/TimeSheets/run +5 -5
  516. data/test/test_CSVFile.rb +75 -0
  517. data/test/test_Limits.rb +63 -5
  518. data/test/test_ProjectFileScanner.rb +163 -0
  519. data/test/test_ReportGenerator.rb +81 -0
  520. data/test/test_RichText.rb +21 -3
  521. data/test/test_Scheduler.rb +1 -1
  522. data/test/test_ShiftAssignments.rb +4 -4
  523. data/test/test_Syntax.rb +1 -1
  524. data/test/test_URLParameter.rb +30 -0
  525. metadata +126 -32
  526. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
  527. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
  528. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
  529. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
  530. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
  531. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
  532. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
  533. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
  534. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
  535. data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
  536. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
  537. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
  538. data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
  539. data/test/TestSuite/TimeSheets/receiver.log +0 -102
  540. data/test/TestSuite/TimeSheets/sender.log +0 -794
  541. data/test/TestSuite/TimeSheets/summary.log +0 -884
  542. data/test/TestSuite/TimeSheets/timesheets.log +0 -45
  543. data/test/TestSuite/TimeSheets/tj3d.log +0 -292
  544. data/test/test_TextScanner.rb +0 -95
@@ -69,9 +69,9 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M000610">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
- <li><a href="#M000611">#to_s</a></li>
74
+ <li><a href="#method-i-to_s">#to_s</a></li>
75
75
 
76
76
  </ul>
77
77
  </div>
@@ -88,6 +88,8 @@
88
88
  <h3 class="section-header">Files</h3>
89
89
  <ul>
90
90
 
91
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
92
+
91
93
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
92
94
 
93
95
  <li class="file"><a href="../README.html">README</a></li>
@@ -257,6 +259,8 @@
257
259
 
258
260
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
259
261
 
262
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
263
+
260
264
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
261
265
 
262
266
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -271,6 +275,8 @@
271
275
 
272
276
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
273
277
 
278
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
279
+
274
280
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
275
281
 
276
282
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -287,12 +293,16 @@
287
293
 
288
294
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
289
295
 
296
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
297
+
290
298
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
291
299
 
292
300
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
293
301
 
294
302
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
295
303
 
304
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
305
+
296
306
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
297
307
 
298
308
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -311,6 +321,8 @@
311
321
 
312
322
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
313
323
 
324
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
325
+
314
326
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
315
327
 
316
328
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -439,6 +451,8 @@
439
451
 
440
452
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
441
453
 
454
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
455
+
442
456
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
443
457
 
444
458
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -483,8 +497,12 @@
483
497
 
484
498
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
485
499
 
500
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
501
+
486
502
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
487
503
 
504
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
505
+
488
506
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
489
507
 
490
508
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -511,6 +529,8 @@
511
529
 
512
530
  <li><a href="../String.html">String</a></li>
513
531
 
532
+ <li><a href="../StringIO.html">StringIO</a></li>
533
+
514
534
  </ul>
515
535
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
516
536
  </div>
@@ -539,7 +559,7 @@
539
559
 
540
560
 
541
561
  <div id="new-method" class="method-detail ">
542
- <a name="M000610"></a>
562
+ <a name="method-c-new"></a>
543
563
 
544
564
  <div class="method-heading">
545
565
 
@@ -579,7 +599,7 @@
579
599
 
580
600
 
581
601
  <div id="to-s-method" class="method-detail ">
582
- <a name="M000611"></a>
602
+ <a name="method-i-to_s"></a>
583
603
 
584
604
  <div class="method-heading">
585
605
 
@@ -69,31 +69,31 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M000709">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
- <li><a href="#M000710">#addTask</a></li>
74
+ <li><a href="#method-i-addTask">#addTask</a></li>
75
75
 
76
- <li><a href="#M000721">#collectAndSortArrows</a></li>
76
+ <li><a href="#method-i-collectAndSortArrows">#collectAndSortArrows</a></li>
77
77
 
78
- <li><a href="#M000719">#completeChart</a></li>
78
+ <li><a href="#method-i-completeChart">#completeChart</a></li>
79
79
 
80
- <li><a href="#M000715">#dateToX</a></li>
80
+ <li><a href="#method-i-dateToX">#dateToX</a></li>
81
81
 
82
- <li><a href="#M000712">#generateByScale</a></li>
82
+ <li><a href="#method-i-generateByScale">#generateByScale</a></li>
83
83
 
84
- <li><a href="#M000711">#generateByWidth</a></li>
84
+ <li><a href="#method-i-generateByWidth">#generateByWidth</a></li>
85
85
 
86
- <li><a href="#M000720">#generateDepArrows</a></li>
86
+ <li><a href="#method-i-generateDepArrows">#generateDepArrows</a></li>
87
87
 
88
- <li><a href="#M000717">#hasScrollbar?</a></li>
88
+ <li><a href="#method-i-hasScrollbar%3F">#hasScrollbar?</a></li>
89
89
 
90
- <li><a href="#M000722">#routeArrow</a></li>
90
+ <li><a href="#method-i-routeArrow">#routeArrow</a></li>
91
91
 
92
- <li><a href="#M000718">#scaleByName</a></li>
92
+ <li><a href="#method-i-scaleByName">#scaleByName</a></li>
93
93
 
94
- <li><a href="#M000714">#to_csv</a></li>
94
+ <li><a href="#method-i-to_csv">#to_csv</a></li>
95
95
 
96
- <li><a href="#M000713">#to_html</a></li>
96
+ <li><a href="#method-i-to_html">#to_html</a></li>
97
97
 
98
98
  </ul>
99
99
  </div>
@@ -121,6 +121,8 @@
121
121
  <h3 class="section-header">Files</h3>
122
122
  <ul>
123
123
 
124
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
125
+
124
126
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
125
127
 
126
128
  <li class="file"><a href="../README.html">README</a></li>
@@ -290,6 +292,8 @@
290
292
 
291
293
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
292
294
 
295
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
296
+
293
297
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
294
298
 
295
299
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -304,6 +308,8 @@
304
308
 
305
309
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
306
310
 
311
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
312
+
307
313
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
308
314
 
309
315
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -320,12 +326,16 @@
320
326
 
321
327
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
322
328
 
329
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
330
+
323
331
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
324
332
 
325
333
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
326
334
 
327
335
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
328
336
 
337
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
338
+
329
339
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
330
340
 
331
341
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -344,6 +354,8 @@
344
354
 
345
355
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
346
356
 
357
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
358
+
347
359
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
348
360
 
349
361
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -472,6 +484,8 @@
472
484
 
473
485
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
474
486
 
487
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
488
+
475
489
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
476
490
 
477
491
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -516,8 +530,12 @@
516
530
 
517
531
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
518
532
 
533
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
534
+
519
535
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
520
536
 
537
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
538
+
521
539
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
522
540
 
523
541
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -544,6 +562,8 @@
544
562
 
545
563
  <li><a href="../String.html">String</a></li>
546
564
 
565
+ <li><a href="../StringIO.html">StringIO</a></li>
566
+
547
567
  </ul>
548
568
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
549
569
  </div>
@@ -755,7 +775,7 @@ should be large enough to work for all browsers.
755
775
 
756
776
 
757
777
  <div id="new-method" class="method-detail ">
758
- <a name="M000709"></a>
778
+ <a name="method-c-new"></a>
759
779
 
760
780
  <div class="method-heading">
761
781
 
@@ -858,7 +878,7 @@ href="TableReport.html">TableReport</a> that the chart is part of.
858
878
 
859
879
 
860
880
  <div id="add-ask-method" class="method-detail ">
861
- <a name="M000710"></a>
881
+ <a name="method-i-addTask"></a>
862
882
 
863
883
  <div class="method-heading">
864
884
 
@@ -902,7 +922,7 @@ corresponding primary <a href="ReportTableLine.html">ReportTableLine</a>.
902
922
 
903
923
 
904
924
  <div id="date-o--method" class="method-detail ">
905
- <a name="M000715"></a>
925
+ <a name="method-i-dateToX"></a>
906
926
 
907
927
  <div class="method-heading">
908
928
 
@@ -924,10 +944,10 @@ Gantt chart.
924
944
  <div class="method-source-code"
925
945
  id="date-o--source">
926
946
  <pre>
927
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 207</span>
928
- 207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToX</span>(<span class="ruby-identifier">date</span>)
929
- 208: (<span class="ruby-ivar">@width</span> <span class="ruby-operator">/</span> (<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>)) * (<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>)
930
- 209: <span class="ruby-keyword kw">end</span></pre>
947
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 208</span>
948
+ 208: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToX</span>(<span class="ruby-identifier">date</span>)
949
+ 209: (<span class="ruby-ivar">@width</span> <span class="ruby-operator">/</span> (<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>)) * (<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>)
950
+ 210: <span class="ruby-keyword kw">end</span></pre>
931
951
  </div>
932
952
 
933
953
  </div>
@@ -939,7 +959,7 @@ Gantt chart.
939
959
 
940
960
 
941
961
  <div id="generate-y-cale-method" class="method-detail ">
942
- <a name="M000712"></a>
962
+ <a name="method-i-generateByScale"></a>
943
963
 
944
964
  <div class="method-heading">
945
965
 
@@ -986,7 +1006,7 @@ created for this chart.
986
1006
 
987
1007
 
988
1008
  <div id="generate-y-idth-method" class="method-detail ">
989
- <a name="M000711"></a>
1009
+ <a name="method-i-generateByWidth"></a>
990
1010
 
991
1011
  <div class="method-heading">
992
1012
 
@@ -1023,7 +1043,7 @@ created for this chart.
1023
1043
 
1024
1044
 
1025
1045
  <div id="has-crollbar--method" class="method-detail ">
1026
- <a name="M000717"></a>
1046
+ <a name="method-i-hasScrollbar%3F"></a>
1027
1047
 
1028
1048
  <div class="method-heading">
1029
1049
 
@@ -1044,10 +1064,10 @@ Returns true if the chart includes a scrollbar.
1044
1064
  <div class="method-source-code"
1045
1065
  id="has-crollbar--source">
1046
1066
  <pre>
1047
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 221</span>
1048
- 221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasScrollbar?</span>
1049
- 222: <span class="ruby-ivar">@viewWidth</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-ivar">@viewWidth</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@width</span>)
1050
- 223: <span class="ruby-keyword kw">end</span></pre>
1067
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 222</span>
1068
+ 222: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasScrollbar?</span>
1069
+ 223: <span class="ruby-ivar">@viewWidth</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-ivar">@viewWidth</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@width</span>)
1070
+ 224: <span class="ruby-keyword kw">end</span></pre>
1051
1071
  </div>
1052
1072
 
1053
1073
  </div>
@@ -1059,12 +1079,12 @@ Returns true if the chart includes a scrollbar.
1059
1079
 
1060
1080
 
1061
1081
  <div id="to-csv-method" class="method-detail ">
1062
- <a name="M000714"></a>
1082
+ <a name="method-i-to_csv"></a>
1063
1083
 
1064
1084
  <div class="method-heading">
1065
1085
 
1066
1086
  <span class="method-name">to_csv</span><span
1067
- class="method-args">(csv)</span>
1087
+ class="method-args">()</span>
1068
1088
  <span class="method-click-advice">click to toggle source</span>
1069
1089
 
1070
1090
  </div>
@@ -1081,9 +1101,10 @@ This is a noop function.
1081
1101
  id="to-csv-source">
1082
1102
  <pre>
1083
1103
  <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 201</span>
1084
- 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>)
1104
+ 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
1085
1105
  202: <span class="ruby-comment cmt"># Can't put a Gantt chart into a CSV file.</span>
1086
- 203: <span class="ruby-keyword kw">end</span></pre>
1106
+ 203: <span class="ruby-value str">''</span>
1107
+ 204: <span class="ruby-keyword kw">end</span></pre>
1087
1108
  </div>
1088
1109
 
1089
1110
  </div>
@@ -1095,7 +1116,7 @@ This is a noop function.
1095
1116
 
1096
1117
 
1097
1118
  <div id="to-html-method" class="method-detail ">
1098
- <a name="M000713"></a>
1119
+ <a name="method-i-to_html"></a>
1099
1120
 
1100
1121
  <div class="method-heading">
1101
1122
 
@@ -1192,7 +1213,7 @@ Convert the chart into an HTML representation.
1192
1213
 
1193
1214
 
1194
1215
  <div id="collect-nd-ort-rrows-method" class="method-detail ">
1195
- <a name="M000721"></a>
1216
+ <a name="method-i-collectAndSortArrows"></a>
1196
1217
 
1197
1218
  <div class="method-heading">
1198
1219
 
@@ -1219,43 +1240,43 @@ number in the chart.
1219
1240
  <div class="method-source-code"
1220
1241
  id="collect-nd-ort-rrows-source">
1221
1242
  <pre>
1222
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 280</span>
1223
- 280: <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>)
1224
- 281: <span class="ruby-comment cmt"># We need to sort the arrows. This is an Array that holds 6 values for</span>
1225
- 282: <span class="ruby-comment cmt"># each entry: The x and y coordinates for start and end points, the</span>
1226
- 283: <span class="ruby-comment cmt"># sinus value of the angle between a vertical and the line specified by</span>
1227
- 284: <span class="ruby-comment cmt"># the points and the length of the line.</span>
1228
- 285: <span class="ruby-identifier">touples</span> = []
1229
- 286: <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>
1230
- 287: <span class="ruby-comment cmt"># Skip inherited dependencies and tasks that are not included in the</span>
1231
- 288: <span class="ruby-comment cmt"># chart.</span>
1232
- 289: <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>
1233
- 290: <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>
1234
- 291: <span class="ruby-operator">!</span><span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">t</span>)
1235
- 292: <span class="ruby-keyword kw">next</span>
1236
- 293: <span class="ruby-keyword kw">end</span>
1237
- 294: <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>(
1238
- 295: <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>)
1239
- 296: <span class="ruby-comment cmt"># To make sure that we minimize the crossings of arrows that</span>
1240
- 297: <span class="ruby-comment cmt"># originate from the same position, we sort the arrows by the</span>
1241
- 298: <span class="ruby-comment cmt"># smallest angle between the vertical line through the task end</span>
1242
- 299: <span class="ruby-comment cmt"># and the line between the start and end of the arrow.</span>
1243
- 300: <span class="ruby-identifier">oppLeg</span> = <span class="ruby-identifier">endX</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startX</span>
1244
- 301: <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>
1245
- 302: <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>)
1246
- 303: <span class="ruby-comment cmt"># We can now calculate the sinus values of the angle between the</span>
1247
- 304: <span class="ruby-comment cmt"># vertical and a line through the coordinates.</span>
1248
- 305: <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>,
1249
- 306: (<span class="ruby-identifier">oppLeg</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">hypothenuse</span>), <span class="ruby-identifier">hypothenuse</span> ]
1250
- 307: <span class="ruby-keyword kw">end</span>
1251
- 308: <span class="ruby-comment cmt"># We sort the arrows from small to a large angle. In case the angle is</span>
1252
- 309: <span class="ruby-comment cmt"># identical, we use the length of the line as second criteria.</span>
1253
- 310: <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>
1254
- 311: <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>] }
1255
- 312: <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>
1256
- 313: <span class="ruby-identifier">routeArrow</span>(*<span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>, <span class="ruby-value">4</span>])
1257
- 314: <span class="ruby-keyword kw">end</span>
1258
- 315: <span class="ruby-keyword kw">end</span></pre>
1243
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 281</span>
1244
+ 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>)
1245
+ 282: <span class="ruby-comment cmt"># We need to sort the arrows. This is an Array that holds 6 values for</span>
1246
+ 283: <span class="ruby-comment cmt"># each entry: The x and y coordinates for start and end points, the</span>
1247
+ 284: <span class="ruby-comment cmt"># sinus value of the angle between a vertical and the line specified by</span>
1248
+ 285: <span class="ruby-comment cmt"># the points and the length of the line.</span>
1249
+ 286: <span class="ruby-identifier">touples</span> = []
1250
+ 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>
1251
+ 288: <span class="ruby-comment cmt"># Skip inherited dependencies and tasks that are not included in the</span>
1252
+ 289: <span class="ruby-comment cmt"># chart.</span>
1253
+ 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>
1254
+ 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>
1255
+ 292: <span class="ruby-operator">!</span><span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">t</span>)
1256
+ 293: <span class="ruby-keyword kw">next</span>
1257
+ 294: <span class="ruby-keyword kw">end</span>
1258
+ 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>(
1259
+ 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>)
1260
+ 297: <span class="ruby-comment cmt"># To make sure that we minimize the crossings of arrows that</span>
1261
+ 298: <span class="ruby-comment cmt"># originate from the same position, we sort the arrows by the</span>
1262
+ 299: <span class="ruby-comment cmt"># smallest angle between the vertical line through the task end</span>
1263
+ 300: <span class="ruby-comment cmt"># and the line between the start and end of the arrow.</span>
1264
+ 301: <span class="ruby-identifier">oppLeg</span> = <span class="ruby-identifier">endX</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startX</span>
1265
+ 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>
1266
+ 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>)
1267
+ 304: <span class="ruby-comment cmt"># We can now calculate the sinus values of the angle between the</span>
1268
+ 305: <span class="ruby-comment cmt"># vertical and a line through the coordinates.</span>
1269
+ 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>,
1270
+ 307: (<span class="ruby-identifier">oppLeg</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">hypothenuse</span>), <span class="ruby-identifier">hypothenuse</span> ]
1271
+ 308: <span class="ruby-keyword kw">end</span>
1272
+ 309: <span class="ruby-comment cmt"># We sort the arrows from small to a large angle. In case the angle is</span>
1273
+ 310: <span class="ruby-comment cmt"># identical, we use the length of the line as second criteria.</span>
1274
+ 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>
1275
+ 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>] }
1276
+ 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>
1277
+ 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>])
1278
+ 315: <span class="ruby-keyword kw">end</span>
1279
+ 316: <span class="ruby-keyword kw">end</span></pre>
1259
1280
  </div>
1260
1281
 
1261
1282
  </div>
@@ -1267,7 +1288,7 @@ number in the chart.
1267
1288
 
1268
1289
 
1269
1290
  <div id="complete-hart-method" class="method-detail ">
1270
- <a name="M000719"></a>
1291
+ <a name="method-i-completeChart"></a>
1271
1292
 
1272
1293
  <div class="method-heading">
1273
1294
 
@@ -1288,24 +1309,24 @@ Calculate the overall height of the chart and generate dependency arrows.
1288
1309
  <div class="method-source-code"
1289
1310
  id="complete-hart-source">
1290
1311
  <pre>
1291
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 237</span>
1292
- 237: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">completeChart</span>
1293
- 238: <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>
1294
- 239: <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>
1295
- 240: <span class="ruby-keyword kw">end</span>
1296
- 241:
1297
- 242: <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>)
1298
- 243:
1299
- 244: <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>
1300
- 245: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-ivar">@router</span>)
1301
- 246: <span class="ruby-keyword kw">end</span>
1302
- 247:
1303
- 248: <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>)
1304
- 249:
1305
- 250: <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>
1306
- 251: <span class="ruby-identifier">generateDepArrows</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
1307
- 252: <span class="ruby-keyword kw">end</span>
1308
- 253: <span class="ruby-keyword kw">end</span></pre>
1312
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 238</span>
1313
+ 238: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">completeChart</span>
1314
+ 239: <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>
1315
+ 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>
1316
+ 241: <span class="ruby-keyword kw">end</span>
1317
+ 242:
1318
+ 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>)
1319
+ 244:
1320
+ 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>
1321
+ 246: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-ivar">@router</span>)
1322
+ 247: <span class="ruby-keyword kw">end</span>
1323
+ 248:
1324
+ 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>)
1325
+ 250:
1326
+ 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>
1327
+ 252: <span class="ruby-identifier">generateDepArrows</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
1328
+ 253: <span class="ruby-keyword kw">end</span>
1329
+ 254: <span class="ruby-keyword kw">end</span></pre>
1309
1330
  </div>
1310
1331
 
1311
1332
  </div>
@@ -1317,7 +1338,7 @@ Calculate the overall height of the chart and generate dependency arrows.
1317
1338
 
1318
1339
 
1319
1340
  <div id="generate-ep-rrows-method" class="method-detail ">
1320
- <a name="M000720"></a>
1341
+ <a name="method-i-generateDepArrows"></a>
1321
1342
 
1322
1343
  <div class="method-heading">
1323
1344
 
@@ -1341,22 +1362,22 @@ lines per task.
1341
1362
  <div class="method-source-code"
1342
1363
  id="generate-ep-rrows-source">
1343
1364
  <pre>
1344
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 259</span>
1345
- 259: <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>)
1346
- 260: <span class="ruby-comment cmt"># Since we need the line and the index we use an index iterator.</span>
1347
- 261: <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>
1348
- 262: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">lines</span>[<span class="ruby-identifier">lineIndex</span>]
1349
- 263: <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scenarioIdx</span>
1350
- 264:
1351
- 265: <span class="ruby-comment cmt"># Generate the dependencies on the start of the task.</span>
1352
- 266: <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>,
1353
- 267: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">startDepLineStart</span>)
1354
- 268:
1355
- 269: <span class="ruby-comment cmt"># Generate the dependencies on the end of the task.</span>
1356
- 270: <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>,
1357
- 271: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">endDepLineStart</span>)
1358
- 272: <span class="ruby-keyword kw">end</span>
1359
- 273: <span class="ruby-keyword kw">end</span></pre>
1365
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 260</span>
1366
+ 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>)
1367
+ 261: <span class="ruby-comment cmt"># Since we need the line and the index we use an index iterator.</span>
1368
+ 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>
1369
+ 263: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">lines</span>[<span class="ruby-identifier">lineIndex</span>]
1370
+ 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>
1371
+ 265:
1372
+ 266: <span class="ruby-comment cmt"># Generate the dependencies on the start of the task.</span>
1373
+ 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>,
1374
+ 268: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">startDepLineStart</span>)
1375
+ 269:
1376
+ 270: <span class="ruby-comment cmt"># Generate the dependencies on the end of the task.</span>
1377
+ 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>,
1378
+ 272: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">endDepLineStart</span>)
1379
+ 273: <span class="ruby-keyword kw">end</span>
1380
+ 274: <span class="ruby-keyword kw">end</span></pre>
1360
1381
  </div>
1361
1382
 
1362
1383
  </div>
@@ -1368,7 +1389,7 @@ lines per task.
1368
1389
 
1369
1390
 
1370
1391
  <div id="route-rrow-method" class="method-detail ">
1371
- <a name="M000722"></a>
1392
+ <a name="method-i-routeArrow"></a>
1372
1393
 
1373
1394
  <div class="method-heading">
1374
1395
 
@@ -1389,17 +1410,17 @@ Route the dependency lines from the start to the end point.
1389
1410
  <div class="method-source-code"
1390
1411
  id="route-rrow-source">
1391
1412
  <pre>
1392
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 318</span>
1393
- 318: <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>)
1394
- 319: <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>])
1395
- 320:
1396
- 321: <span class="ruby-comment cmt"># It's enough to have only a single arrow drawn at the end point even if</span>
1397
- 322: <span class="ruby-comment cmt"># it's the destination of multiple lines.</span>
1398
- 323: <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>
1399
- 324: <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>
1400
- 325: <span class="ruby-keyword kw">end</span>
1401
- 326: <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> ]
1402
- 327: <span class="ruby-keyword kw">end</span></pre>
1413
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 319</span>
1414
+ 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>)
1415
+ 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>])
1416
+ 321:
1417
+ 322: <span class="ruby-comment cmt"># It's enough to have only a single arrow drawn at the end point even if</span>
1418
+ 323: <span class="ruby-comment cmt"># it's the destination of multiple lines.</span>
1419
+ 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>
1420
+ 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>
1421
+ 326: <span class="ruby-keyword kw">end</span>
1422
+ 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> ]
1423
+ 328: <span class="ruby-keyword kw">end</span></pre>
1403
1424
  </div>
1404
1425
 
1405
1426
  </div>
@@ -1411,7 +1432,7 @@ Route the dependency lines from the start to the end point.
1411
1432
 
1412
1433
 
1413
1434
  <div id="scale-y-ame-method" class="method-detail ">
1414
- <a name="M000718"></a>
1435
+ <a name="method-i-scaleByName"></a>
1415
1436
 
1416
1437
  <div class="method-heading">
1417
1438
 
@@ -1433,13 +1454,13 @@ scale. If nothing is round an exception is raised.
1433
1454
  <div class="method-source-code"
1434
1455
  id="scale-y-ame-source">
1435
1456
  <pre>
1436
- <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 229</span>
1437
- 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleByName</span>(<span class="ruby-identifier">name</span>)
1438
- 230: <span class="ruby-identifier">@@scales</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scale</span><span class="ruby-operator">|</span>
1439
- 231: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">scale</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scale</span>[<span class="ruby-value str">'name'</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span>
1440
- 232: <span class="ruby-keyword kw">end</span>
1441
- 233: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale #{name}&quot;</span>
1442
- 234: <span class="ruby-keyword kw">end</span></pre>
1457
+ <span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 230</span>
1458
+ 230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleByName</span>(<span class="ruby-identifier">name</span>)
1459
+ 231: <span class="ruby-identifier">@@scales</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scale</span><span class="ruby-operator">|</span>
1460
+ 232: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">scale</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scale</span>[<span class="ruby-value str">'name'</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span>
1461
+ 233: <span class="ruby-keyword kw">end</span>
1462
+ 234: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale #{name}&quot;</span>
1463
+ 235: <span class="ruby-keyword kw">end</span></pre>
1443
1464
  </div>
1444
1465
 
1445
1466
  </div>