taskjuggler 0.1.1 → 0.2.0

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 (563) hide show
  1. data/CHANGELOG +37 -5
  2. data/README.rdoc +4 -2
  3. data/benchmarks/UTF-8-Strings.rb +58 -0
  4. data/benchmarks/css/tjmanual.css +0 -1
  5. data/benchmarks/htmltaskreport-1.html +47702 -0
  6. data/benchmarks/htmltaskreport-2.html +23345 -0
  7. data/benchmarks/htmltaskreport-3.html +23265 -0
  8. data/benchmarks/htmltaskreport-4.html +22135 -0
  9. data/benchmarks/profile.clt +36082 -0
  10. data/benchmarks/tj3.profile +0 -0
  11. data/benchmarks/tj3.profile.grind +6185 -0
  12. data/benchmarks/tj3.profile.symbols +432 -0
  13. data/benchmarks/tj3.profile.txt +448 -0
  14. data/data/tjp.vim +689 -0
  15. data/doc/AppConfig.html +26 -2
  16. data/doc/CHANGELOG.html +60 -8
  17. data/doc/COPYING.html +26 -2
  18. data/doc/Diff/Hunk.html +26 -2
  19. data/doc/Diff.html +26 -2
  20. data/doc/Diffable.html +26 -2
  21. data/doc/DiffableString.html +26 -2
  22. data/doc/Object.html +26 -104
  23. data/doc/README_rdoc.html +39 -7
  24. data/doc/RuntimeConfig.html +26 -2
  25. data/doc/String.html +26 -2
  26. data/doc/TaskJuggler/Account.html +27 -3
  27. data/doc/TaskJuggler/AccountAttribute.html +30 -6
  28. data/doc/TaskJuggler/AccountScenario.html +28 -4
  29. data/doc/TaskJuggler/Allocation.html +33 -9
  30. data/doc/TaskJuggler/AllocationAttribute.html +31 -7
  31. data/doc/TaskJuggler/AttributeBase.html +162 -111
  32. data/doc/TaskJuggler/AttributeDefinition.html +26 -2
  33. data/doc/TaskJuggler/AttributeOverwrite.html +26 -2
  34. data/doc/TaskJuggler/BatchProcessor.html +26 -2
  35. data/doc/TaskJuggler/Booking.html +29 -5
  36. data/doc/TaskJuggler/BookingListAttribute.html +29 -5
  37. data/doc/TaskJuggler/BooleanAttribute.html +30 -6
  38. data/doc/TaskJuggler/CSVFile.html +26 -2
  39. data/doc/TaskJuggler/CellSettingPattern.html +26 -2
  40. data/doc/TaskJuggler/CellSettingPatternList.html +26 -2
  41. data/doc/TaskJuggler/Charge.html +30 -6
  42. data/doc/TaskJuggler/ChargeListAttribute.html +29 -5
  43. data/doc/TaskJuggler/ChargeSet.html +26 -2
  44. data/doc/TaskJuggler/ChargeSetListAttribute.html +30 -6
  45. data/doc/TaskJuggler/CollisionDetector.html +26 -2
  46. data/doc/TaskJuggler/ColumnListAttribute.html +28 -4
  47. data/doc/TaskJuggler/ColumnTable.html +26 -2
  48. data/doc/TaskJuggler/Daemon.html +26 -2
  49. data/doc/TaskJuggler/DataCache.html +26 -2
  50. data/doc/TaskJuggler/DataCacheEntry.html +26 -2
  51. data/doc/TaskJuggler/DateAttribute.html +30 -6
  52. data/doc/TaskJuggler/DefinitionListAttribute.html +28 -4
  53. data/doc/TaskJuggler/DependencyListAttribute.html +30 -6
  54. data/doc/TaskJuggler/DurationAttribute.html +31 -7
  55. data/doc/TaskJuggler/FileList.html +26 -2
  56. data/doc/TaskJuggler/FileRecord.html +26 -2
  57. data/doc/TaskJuggler/FixnumAttribute.html +28 -4
  58. data/doc/TaskJuggler/FlagListAttribute.html +30 -6
  59. data/doc/TaskJuggler/FloatAttribute.html +29 -5
  60. data/doc/TaskJuggler/FormatListAttribute.html +29 -5
  61. data/doc/TaskJuggler/GanttChart.html +26 -2
  62. data/doc/TaskJuggler/GanttContainer.html +26 -2
  63. data/doc/TaskJuggler/GanttHeader.html +26 -2
  64. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -2
  65. data/doc/TaskJuggler/GanttLine.html +27 -3
  66. data/doc/TaskJuggler/GanttLoadStack.html +26 -2
  67. data/doc/TaskJuggler/GanttMilestone.html +26 -2
  68. data/doc/TaskJuggler/GanttRouter.html +26 -2
  69. data/doc/TaskJuggler/GanttTaskBar.html +26 -2
  70. data/doc/TaskJuggler/HTMLDocument.html +26 -2
  71. data/doc/TaskJuggler/HTMLElements.html +623 -0
  72. data/doc/TaskJuggler/HTMLGraphics.html +26 -2
  73. data/doc/TaskJuggler/ICalReport.html +864 -0
  74. data/doc/TaskJuggler/ICalendar/Component.html +969 -0
  75. data/doc/TaskJuggler/ICalendar/Event.html +742 -0
  76. data/doc/TaskJuggler/ICalendar/Journal.html +722 -0
  77. data/doc/TaskJuggler/ICalendar/Person.html +633 -0
  78. data/doc/TaskJuggler/ICalendar/Todo.html +789 -0
  79. data/doc/TaskJuggler/ICalendar.html +1035 -0
  80. data/doc/TaskJuggler/Interval.html +99 -172
  81. data/doc/TaskJuggler/IntervalList.html +31 -7
  82. data/doc/TaskJuggler/JobInfo.html +26 -2
  83. data/doc/TaskJuggler/Journal.html +26 -2
  84. data/doc/TaskJuggler/JournalEntry.html +26 -2
  85. data/doc/TaskJuggler/JournalEntryList.html +26 -2
  86. data/doc/TaskJuggler/KeywordArray.html +26 -2
  87. data/doc/TaskJuggler/KeywordDocumentation.html +26 -2
  88. data/doc/TaskJuggler/Limits/Limit.html +124 -49
  89. data/doc/TaskJuggler/Limits.html +139 -156
  90. data/doc/TaskJuggler/LimitsAttribute.html +39 -14
  91. data/doc/TaskJuggler/ListAttributeBase.html +35 -11
  92. data/doc/TaskJuggler/Log.html +26 -2
  93. data/doc/TaskJuggler/LogFile.html +26 -2
  94. data/doc/TaskJuggler/LogicalAttribute.html +26 -2
  95. data/doc/TaskJuggler/LogicalExpression.html +26 -2
  96. data/doc/TaskJuggler/LogicalExpressionAttribute.html +35 -11
  97. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +35 -11
  98. data/doc/TaskJuggler/LogicalFlag.html +26 -2
  99. data/doc/TaskJuggler/LogicalFunction.html +28 -4
  100. data/doc/TaskJuggler/LogicalOperation.html +26 -2
  101. data/doc/TaskJuggler/ManagerResponsibilities.html +26 -2
  102. data/doc/TaskJuggler/ManagerStatusRecord.html +26 -2
  103. data/doc/TaskJuggler/Message.html +26 -2
  104. data/doc/TaskJuggler/MessageHandler.html +108 -62
  105. data/doc/TaskJuggler/Navigator.html +26 -2
  106. data/doc/TaskJuggler/NavigatorElement.html +26 -2
  107. data/doc/TaskJuggler/NikuProject.html +26 -2
  108. data/doc/TaskJuggler/NikuReport.html +27 -3
  109. data/doc/TaskJuggler/NikuResource.html +26 -2
  110. data/doc/TaskJuggler/NodeListAttribute.html +31 -7
  111. data/doc/TaskJuggler/PlaceHolderCell.html +26 -2
  112. data/doc/TaskJuggler/ProcessIntercom.html +26 -2
  113. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -2
  114. data/doc/TaskJuggler/Project.html +1236 -973
  115. data/doc/TaskJuggler/ProjectBroker.html +26 -2
  116. data/doc/TaskJuggler/ProjectBrokerIface.html +26 -2
  117. data/doc/TaskJuggler/ProjectFileParser.html +29 -4
  118. data/doc/TaskJuggler/ProjectFileScanner.html +56 -31
  119. data/doc/TaskJuggler/ProjectRecord.html +26 -2
  120. data/doc/TaskJuggler/ProjectServer.html +26 -2
  121. data/doc/TaskJuggler/ProjectServerIface.html +26 -2
  122. data/doc/TaskJuggler/PropertyAttribute.html +35 -11
  123. data/doc/TaskJuggler/PropertyList.html +26 -2
  124. data/doc/TaskJuggler/PropertySet.html +126 -106
  125. data/doc/TaskJuggler/PropertyTreeNode.html +595 -551
  126. data/doc/TaskJuggler/Query.html +127 -100
  127. data/doc/TaskJuggler/RTFHandlers.html +26 -2
  128. data/doc/TaskJuggler/RTFNavigator.html +26 -2
  129. data/doc/TaskJuggler/RTFQuery.html +28 -4
  130. data/doc/TaskJuggler/RTFReport.html +26 -2
  131. data/doc/TaskJuggler/RTFReportLink.html +26 -2
  132. data/doc/TaskJuggler/RTFWithQuerySupport.html +26 -2
  133. data/doc/TaskJuggler/RealFormat.html +26 -2
  134. data/doc/TaskJuggler/RealFormatAttribute.html +31 -7
  135. data/doc/TaskJuggler/ReferenceAttribute.html +58 -34
  136. data/doc/TaskJuggler/Report.html +427 -284
  137. data/doc/TaskJuggler/ReportBase.html +28 -102
  138. data/doc/TaskJuggler/ReportContext.html +26 -2
  139. data/doc/TaskJuggler/ReportScenario.html +633 -0
  140. data/doc/TaskJuggler/ReportServer.html +26 -2
  141. data/doc/TaskJuggler/ReportServerIface.html +26 -2
  142. data/doc/TaskJuggler/ReportServerRecord.html +26 -2
  143. data/doc/TaskJuggler/ReportServlet.html +26 -2
  144. data/doc/TaskJuggler/ReportTable.html +26 -2
  145. data/doc/TaskJuggler/ReportTableCell.html +26 -2
  146. data/doc/TaskJuggler/ReportTableColumn.html +26 -2
  147. data/doc/TaskJuggler/ReportTableLegend.html +26 -2
  148. data/doc/TaskJuggler/ReportTableLine.html +26 -2
  149. data/doc/TaskJuggler/Resource.html +225 -163
  150. data/doc/TaskJuggler/ResourceListAttribute.html +71 -47
  151. data/doc/TaskJuggler/ResourceListRE.html +26 -2
  152. data/doc/TaskJuggler/ResourceScenario.html +645 -603
  153. data/doc/TaskJuggler/RichText.html +26 -2
  154. data/doc/TaskJuggler/RichTextAttribute.html +53 -29
  155. data/doc/TaskJuggler/RichTextDocument.html +26 -2
  156. data/doc/TaskJuggler/RichTextElement.html +26 -2
  157. data/doc/TaskJuggler/RichTextFunctionExample.html +26 -2
  158. data/doc/TaskJuggler/RichTextFunctionHandler.html +26 -2
  159. data/doc/TaskJuggler/RichTextImage.html +26 -2
  160. data/doc/TaskJuggler/RichTextIntermediate.html +29 -5
  161. data/doc/TaskJuggler/RichTextParser.html +26 -2
  162. data/doc/TaskJuggler/RichTextScanner.html +26 -2
  163. data/doc/TaskJuggler/RichTextSnip.html +26 -2
  164. data/doc/TaskJuggler/RichTextSyntaxRules.html +26 -2
  165. data/doc/TaskJuggler/Scenario.html +26 -2
  166. data/doc/TaskJuggler/ScenarioData.html +95 -28
  167. data/doc/TaskJuggler/ScenarioListAttribute.html +39 -15
  168. data/doc/TaskJuggler/Scoreboard.html +137 -73
  169. data/doc/TaskJuggler/ScoreboardInterval.html +1116 -0
  170. data/doc/TaskJuggler/SheetHandlerBase.html +26 -2
  171. data/doc/TaskJuggler/SheetReceiver.html +26 -2
  172. data/doc/TaskJuggler/SheetSender.html +26 -2
  173. data/doc/TaskJuggler/Shift.html +27 -3
  174. data/doc/TaskJuggler/ShiftAssignment.html +27 -3
  175. data/doc/TaskJuggler/ShiftAssignments.html +174 -149
  176. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +41 -16
  177. data/doc/TaskJuggler/ShiftScenario.html +26 -2
  178. data/doc/TaskJuggler/SimpleQueryExpander.html +26 -2
  179. data/doc/TaskJuggler/SortListAttribute.html +35 -11
  180. data/doc/TaskJuggler/StatusSheetReceiver.html +26 -2
  181. data/doc/TaskJuggler/StatusSheetReport.html +26 -2
  182. data/doc/TaskJuggler/StatusSheetSender.html +26 -2
  183. data/doc/TaskJuggler/StdIoWrapper.html +26 -2
  184. data/doc/TaskJuggler/StringAttribute.html +39 -15
  185. data/doc/TaskJuggler/SymbolAttribute.html +35 -11
  186. data/doc/TaskJuggler/SyntaxReference.html +26 -2
  187. data/doc/TaskJuggler/TOCEntry.html +26 -2
  188. data/doc/TaskJuggler/TSResourceRecord.html +26 -2
  189. data/doc/TaskJuggler/TSTaskRecord.html +26 -2
  190. data/doc/TaskJuggler/TableColumnDefinition.html +26 -2
  191. data/doc/TaskJuggler/TableOfContents.html +26 -2
  192. data/doc/TaskJuggler/TableReport.html +239 -214
  193. data/doc/TaskJuggler/TagFile/TagFileEntry.html +841 -0
  194. data/doc/TaskJuggler/TagFile.html +817 -0
  195. data/doc/TaskJuggler/Task.html +27 -3
  196. data/doc/TaskJuggler/TaskDepListAttribute.html +47 -23
  197. data/doc/TaskJuggler/TaskDependency.html +26 -2
  198. data/doc/TaskJuggler/TaskListAttribute.html +47 -23
  199. data/doc/TaskJuggler/TaskListRE.html +26 -2
  200. data/doc/TaskJuggler/TaskScenario.html +2235 -2178
  201. data/doc/TaskJuggler/TernarySearchTree.html +26 -2
  202. data/doc/TaskJuggler/TextFormatter.html +26 -2
  203. data/doc/TaskJuggler/TextParser/Macro.html +26 -2
  204. data/doc/TaskJuggler/TextParser/MacroTable.html +26 -2
  205. data/doc/TaskJuggler/TextParser/Pattern.html +26 -2
  206. data/doc/TaskJuggler/TextParser/Rule.html +26 -2
  207. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +32 -8
  208. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +39 -15
  209. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +26 -2
  210. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +119 -86
  211. data/doc/TaskJuggler/TextParser/Scanner.html +317 -291
  212. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +26 -2
  213. data/doc/TaskJuggler/TextParser/StackElement.html +26 -2
  214. data/doc/TaskJuggler/TextParser/State.html +26 -2
  215. data/doc/TaskJuggler/TextParser/StateTransition.html +26 -2
  216. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +26 -2
  217. data/doc/TaskJuggler/TextParser/TokenDoc.html +26 -2
  218. data/doc/TaskJuggler/TextParser.html +85 -61
  219. data/doc/TaskJuggler/TextReport.html +26 -2
  220. data/doc/TaskJuggler/TimeInterval.html +841 -0
  221. data/doc/TaskJuggler/{IntervalListAttribute.html → TimeIntervalListAttribute.html} +33 -9
  222. data/doc/TaskJuggler/TimeSheet.html +26 -2
  223. data/doc/TaskJuggler/TimeSheetReceiver.html +26 -2
  224. data/doc/TaskJuggler/TimeSheetRecord.html +27 -3
  225. data/doc/TaskJuggler/TimeSheetReport.html +29 -5
  226. data/doc/TaskJuggler/TimeSheetSender.html +26 -2
  227. data/doc/TaskJuggler/TimeSheetSummary.html +26 -2
  228. data/doc/TaskJuggler/TimeSheets.html +26 -2
  229. data/doc/TaskJuggler/Tj3.html +150 -111
  230. data/doc/TaskJuggler/Tj3AppBase.html +26 -2
  231. data/doc/TaskJuggler/Tj3Client.html +26 -2
  232. data/doc/TaskJuggler/Tj3Daemon.html +26 -2
  233. data/doc/TaskJuggler/Tj3Man.html +26 -2
  234. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -2
  235. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -2
  236. data/doc/TaskJuggler/Tj3SsSender.html +26 -2
  237. data/doc/TaskJuggler/Tj3TsReceiver.html +26 -2
  238. data/doc/TaskJuggler/Tj3TsSender.html +26 -2
  239. data/doc/TaskJuggler/Tj3TsSummary.html +26 -2
  240. data/doc/TaskJuggler/TjException.html +26 -2
  241. data/doc/TaskJuggler/TjRuntimeError.html +26 -2
  242. data/doc/TaskJuggler/TjTime.html +539 -477
  243. data/doc/TaskJuggler/TjpExample.html +26 -2
  244. data/doc/TaskJuggler/TjpExportRE.html +240 -161
  245. data/doc/TaskJuggler/TjpSyntaxRules.html +4236 -3844
  246. data/doc/TaskJuggler/URLParameter.html +26 -2
  247. data/doc/TaskJuggler/UserManual.html +26 -2
  248. data/doc/TaskJuggler/VimSyntax.html +31 -7
  249. data/doc/TaskJuggler/WebServer.html +26 -2
  250. data/doc/TaskJuggler/WelcomePage.html +26 -2
  251. data/doc/TaskJuggler/WorkingHours.html +227 -152
  252. data/doc/TaskJuggler/WorkingHoursAttribute.html +62 -38
  253. data/doc/TaskJuggler/XMLBlob.html +26 -2
  254. data/doc/TaskJuggler/XMLComment.html +26 -2
  255. data/doc/TaskJuggler/XMLDocument.html +26 -2
  256. data/doc/TaskJuggler/XMLElement.html +26 -2
  257. data/doc/TaskJuggler/XMLNamedText.html +26 -2
  258. data/doc/TaskJuggler/XMLText.html +26 -2
  259. data/doc/TaskJuggler.html +486 -427
  260. data/doc/index.html +801 -659
  261. data/doc/lib/taskjuggler/AccountScenario_rb.html +1 -1
  262. data/doc/lib/taskjuggler/Account_rb.html +1 -1
  263. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +1 -1
  264. data/doc/lib/taskjuggler/Allocation_rb.html +1 -1
  265. data/doc/lib/taskjuggler/AppConfig_rb.html +1 -1
  266. data/doc/lib/taskjuggler/AttributeBase_rb.html +1 -1
  267. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +1 -1
  268. data/doc/lib/taskjuggler/Attributes_rb.html +1 -1
  269. data/doc/lib/taskjuggler/BatchProcessor_rb.html +1 -1
  270. data/doc/lib/taskjuggler/Booking_rb.html +1 -1
  271. data/doc/lib/taskjuggler/ChargeSet_rb.html +1 -1
  272. data/doc/lib/taskjuggler/Charge_rb.html +1 -1
  273. data/doc/lib/taskjuggler/DataCache_rb.html +1 -1
  274. data/doc/lib/taskjuggler/FileList_rb.html +1 -1
  275. data/doc/lib/taskjuggler/HTMLDocument_rb.html +1 -1
  276. data/doc/lib/{ruby-signal-bug_rb.html → taskjuggler/HTMLElements_rb.html} +9 -9
  277. data/doc/lib/{exchangebug_rb.html → taskjuggler/ICalendar_rb.html} +9 -9
  278. data/doc/lib/taskjuggler/IntervalList_rb.html +1 -1
  279. data/doc/lib/taskjuggler/Interval_rb.html +1 -1
  280. data/doc/lib/taskjuggler/Journal_rb.html +1 -1
  281. data/doc/lib/taskjuggler/KeywordArray_rb.html +1 -1
  282. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +1 -1
  283. data/doc/lib/taskjuggler/Limits_rb.html +1 -1
  284. data/doc/lib/taskjuggler/LogFile_rb.html +1 -1
  285. data/doc/lib/taskjuggler/Log_rb.html +1 -1
  286. data/doc/lib/taskjuggler/LogicalExpression_rb.html +1 -1
  287. data/doc/lib/taskjuggler/LogicalFunction_rb.html +1 -1
  288. data/doc/lib/taskjuggler/LogicalOperation_rb.html +1 -1
  289. data/doc/lib/taskjuggler/MessageHandler_rb.html +1 -1
  290. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +1 -1
  291. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +1 -1
  292. data/doc/lib/taskjuggler/Project_rb.html +1 -1
  293. data/doc/lib/taskjuggler/PropertyList_rb.html +1 -1
  294. data/doc/lib/taskjuggler/PropertySet_rb.html +1 -1
  295. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +1 -1
  296. data/doc/lib/taskjuggler/Query_rb.html +1 -1
  297. data/doc/lib/taskjuggler/RealFormat_rb.html +1 -1
  298. data/doc/lib/taskjuggler/ResourceScenario_rb.html +1 -1
  299. data/doc/lib/taskjuggler/Resource_rb.html +1 -1
  300. data/doc/lib/taskjuggler/RichText/Document_rb.html +1 -1
  301. data/doc/lib/taskjuggler/RichText/Element_rb.html +1 -1
  302. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +1 -1
  303. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +1 -1
  304. data/doc/lib/taskjuggler/RichText/Parser_rb.html +1 -1
  305. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +1 -1
  306. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +1 -1
  307. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +1 -1
  308. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +1 -1
  309. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +1 -1
  310. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +1 -1
  311. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +1 -1
  312. data/doc/lib/taskjuggler/RichText/Snip_rb.html +1 -1
  313. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +1 -1
  314. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +1 -1
  315. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +1 -1
  316. data/doc/lib/taskjuggler/RichText_rb.html +1 -1
  317. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +1 -1
  318. data/doc/lib/taskjuggler/ScenarioData_rb.html +1 -1
  319. data/doc/lib/taskjuggler/Scenario_rb.html +1 -1
  320. data/doc/lib/taskjuggler/Scoreboard_rb.html +1 -1
  321. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +1 -1
  322. data/doc/lib/taskjuggler/SheetReceiver_rb.html +1 -1
  323. data/doc/lib/taskjuggler/SheetSender_rb.html +1 -1
  324. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +1 -1
  325. data/doc/lib/taskjuggler/ShiftScenario_rb.html +1 -1
  326. data/doc/lib/taskjuggler/Shift_rb.html +1 -1
  327. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +1 -1
  328. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +1 -1
  329. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +1 -1
  330. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +1 -1
  331. data/doc/lib/taskjuggler/SyntaxReference_rb.html +1 -1
  332. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +1 -1
  333. data/doc/lib/taskjuggler/TaskDependency_rb.html +1 -1
  334. data/doc/lib/taskjuggler/TaskJuggler_rb.html +1 -1
  335. data/doc/lib/taskjuggler/TaskScenario_rb.html +1 -1
  336. data/doc/lib/taskjuggler/Task_rb.html +1 -1
  337. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +1 -1
  338. data/doc/lib/taskjuggler/TextFormatter_rb.html +1 -1
  339. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +1 -1
  340. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +1 -1
  341. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +1 -1
  342. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +1 -1
  343. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +1 -1
  344. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +1 -1
  345. data/doc/lib/taskjuggler/TextParser/State_rb.html +1 -1
  346. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +1 -1
  347. data/doc/lib/taskjuggler/TextParser_rb.html +1 -1
  348. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +1 -1
  349. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +1 -1
  350. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +1 -1
  351. data/doc/lib/taskjuggler/TimeSheets_rb.html +1 -1
  352. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +1 -1
  353. data/doc/lib/taskjuggler/Tj3Config_rb.html +1 -1
  354. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +1 -1
  355. data/doc/lib/taskjuggler/TjException_rb.html +1 -1
  356. data/doc/lib/taskjuggler/TjTime_rb.html +1 -1
  357. data/doc/lib/taskjuggler/TjpExample_rb.html +1 -1
  358. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +1 -1
  359. data/doc/lib/taskjuggler/URLParameter_rb.html +1 -1
  360. data/doc/lib/taskjuggler/UTF8String_rb.html +1 -1
  361. data/doc/lib/taskjuggler/UserManual_rb.html +1 -1
  362. data/doc/lib/taskjuggler/VimSyntax_rb.html +1 -1
  363. data/doc/lib/taskjuggler/WorkingHours_rb.html +1 -1
  364. data/doc/lib/taskjuggler/XMLDocument_rb.html +1 -1
  365. data/doc/lib/taskjuggler/XMLElement_rb.html +1 -1
  366. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +1 -1
  367. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +1 -1
  368. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +1 -1
  369. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +1 -1
  370. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +1 -1
  371. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +1 -1
  372. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +1 -1
  373. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +1 -1
  374. data/doc/lib/taskjuggler/apps/Tj3_rb.html +1 -1
  375. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +1 -1
  376. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +1 -1
  377. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +1 -1
  378. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +1 -1
  379. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +1 -1
  380. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +1 -1
  381. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +1 -1
  382. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +1 -1
  383. data/doc/lib/taskjuggler/deep_copy_rb.html +1 -1
  384. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +1 -1
  385. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +1 -1
  386. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +1 -1
  387. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +1 -1
  388. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +1 -1
  389. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +1 -1
  390. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +1 -1
  391. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +1 -1
  392. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +1 -1
  393. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +1 -1
  394. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +1 -1
  395. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +1 -1
  396. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +1 -1
  397. data/doc/lib/taskjuggler/reports/ICalReport_rb.html +71 -0
  398. data/doc/lib/taskjuggler/reports/Navigator_rb.html +1 -1
  399. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +1 -1
  400. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +1 -1
  401. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +1 -1
  402. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +1 -1
  403. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +1 -1
  404. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +1 -1
  405. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +1 -1
  406. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +1 -1
  407. data/doc/lib/taskjuggler/reports/Report_rb.html +5 -1
  408. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +1 -1
  409. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +1 -1
  410. data/doc/lib/taskjuggler/reports/TableReport_rb.html +1 -1
  411. data/doc/lib/taskjuggler/reports/TagFile_rb.html +71 -0
  412. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +1 -1
  413. data/doc/lib/taskjuggler/reports/TextReport_rb.html +1 -1
  414. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +1 -1
  415. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +1 -1
  416. data/doc/lib/tj3_rb.html +1 -1
  417. data/doc/lib/tj3client_rb.html +1 -1
  418. data/doc/lib/tj3d_rb.html +1 -1
  419. data/doc/lib/tj3man_rb.html +1 -1
  420. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  421. data/doc/lib/tj3ss_sender_rb.html +1 -1
  422. data/doc/lib/tj3ts_receiver_rb.html +1 -1
  423. data/doc/lib/tj3ts_sender_rb.html +1 -1
  424. data/doc/lib/tj3ts_summary_rb.html +1 -1
  425. data/lib/taskjuggler/Account.rb +1 -1
  426. data/lib/taskjuggler/AccountScenario.rb +1 -1
  427. data/lib/taskjuggler/Allocation.rb +5 -5
  428. data/lib/taskjuggler/AttributeBase.rb +30 -22
  429. data/lib/taskjuggler/Attributes.rb +80 -78
  430. data/lib/taskjuggler/Booking.rb +2 -2
  431. data/lib/taskjuggler/Charge.rb +3 -3
  432. data/lib/taskjuggler/ICalendar.rb +251 -0
  433. data/lib/taskjuggler/Interval.rb +215 -53
  434. data/lib/taskjuggler/IntervalList.rb +5 -5
  435. data/lib/taskjuggler/Limits.rb +79 -69
  436. data/lib/taskjuggler/LogicalFunction.rb +2 -2
  437. data/lib/taskjuggler/MessageHandler.rb +11 -6
  438. data/lib/taskjuggler/Project.rb +208 -95
  439. data/lib/taskjuggler/ProjectFileParser.rb +2 -2
  440. data/lib/taskjuggler/ProjectFileScanner.rb +7 -6
  441. data/lib/taskjuggler/PropertySet.rb +1 -5
  442. data/lib/taskjuggler/PropertyTreeNode.rb +21 -16
  443. data/lib/taskjuggler/Query.rb +10 -7
  444. data/lib/taskjuggler/Resource.rb +6 -1
  445. data/lib/taskjuggler/ResourceScenario.rb +85 -69
  446. data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
  447. data/lib/taskjuggler/ScenarioData.rb +11 -1
  448. data/lib/taskjuggler/Scoreboard.rb +8 -1
  449. data/lib/taskjuggler/Shift.rb +1 -1
  450. data/lib/taskjuggler/ShiftAssignments.rb +22 -20
  451. data/lib/taskjuggler/Task.rb +1 -1
  452. data/lib/taskjuggler/TaskJuggler.rb +65 -51
  453. data/lib/taskjuggler/TaskScenario.rb +486 -419
  454. data/lib/taskjuggler/TextParser/Scanner.rb +22 -11
  455. data/lib/taskjuggler/TimeSheets.rb +1 -1
  456. data/lib/taskjuggler/Tj3Config.rb +1 -1
  457. data/lib/taskjuggler/TjTime.rb +7 -3
  458. data/lib/taskjuggler/TjpSyntaxRules.rb +157 -23
  459. data/lib/taskjuggler/VimSyntax.rb +18 -0
  460. data/lib/taskjuggler/WorkingHours.rb +20 -4
  461. data/lib/taskjuggler/apps/Tj3.rb +16 -1
  462. data/lib/taskjuggler/reports/GanttLine.rb +1 -1
  463. data/lib/taskjuggler/reports/ICalReport.rb +136 -0
  464. data/lib/taskjuggler/reports/NikuReport.rb +1 -1
  465. data/lib/taskjuggler/reports/Report.rb +59 -0
  466. data/lib/taskjuggler/reports/ReportBase.rb +2 -67
  467. data/lib/taskjuggler/reports/TableReport.rb +9 -8
  468. data/lib/taskjuggler/reports/TagFile.rb +120 -0
  469. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
  470. data/lib/taskjuggler/reports/TjpExportRE.rb +33 -9
  471. data/manual/Installation +126 -0
  472. data/spec/ICalendar_spec.rb +45 -0
  473. data/spec/IntervalList_spec.rb +11 -11
  474. data/tasks/changelog.rake +150 -60
  475. data/tasks/gem.rake +1 -0
  476. data/tasks/vim.rake +2 -2
  477. data/test/TestSuite/Export-Reports/refs/Booking.tjp +1 -1
  478. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
  479. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +10 -1
  480. data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +1 -1
  481. data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
  482. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  483. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  484. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  485. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  486. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  487. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
  488. data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
  489. data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
  490. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  491. data/test/TestSuite/{Scheduler/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
  492. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  493. data/test/TestSuite/Scheduler/Correct/Duration.tjp +3 -3
  494. data/test/TestSuite/Scheduler/Errors/R.html +113 -0
  495. data/test/TestSuite/Scheduler/Errors/allocate_no_assigned.tjp +15 -0
  496. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjmanual.css +0 -1
  497. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjreport.css +0 -0
  498. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/details.png +0 -0
  499. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-green.png +0 -0
  500. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-red.png +0 -0
  501. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-yellow.png +0 -0
  502. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resource.png +0 -0
  503. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resourcegroup.png +0 -0
  504. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/task.png +0 -0
  505. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/taskgroup.png +0 -0
  506. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-down.png +0 -0
  507. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-flat.png +0 -0
  508. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-up.png +0 -0
  509. data/test/TestSuite/Scheduler/Errors/overbooked_duration.tjp +11 -0
  510. data/test/TestSuite/Scheduler/Errors/overbooked_effort.tjp +11 -0
  511. data/test/TestSuite/Scheduler/Errors/overbooked_length.tjp +13 -0
  512. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/scripts/wz_tooltip.js +0 -0
  513. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  514. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
  515. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +5 -2
  516. data/test/TestSuite/Syntax/Errors/scenario_after_tracking.tjp +8 -0
  517. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  518. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  519. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  520. data/test/test_Limits.rb +38 -30
  521. data/test/test_Scheduler.rb +2 -2
  522. data/test/test_ShiftAssignments.rb +8 -8
  523. data/test/test_WorkingHours.rb +4 -4
  524. metadata +1015 -1005
  525. data/lib/exchangebug.rb +0 -42
  526. data/lib/ruby-signal-bug.rb +0 -55
  527. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
  528. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
  529. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  530. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  531. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -412
  532. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -680
  533. data/test/TestSuite/ReportGenerator/Correct/DependencyList.csv +0 -4
  534. data/test/TestSuite/ReportGenerator/Correct/DependencyList.tjp +0 -25
  535. data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -8
  536. data/test/TestSuite/ReportGenerator/Correct/Journal-2.csv +0 -8
  537. data/test/TestSuite/ReportGenerator/Correct/Journal-3.html +0 -28
  538. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  539. data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
  540. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  541. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  542. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  543. data/test/TestSuite/Scheduler/' +0 -23
  544. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
  545. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  546. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  547. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  548. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  549. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  550. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  551. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  552. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  553. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  554. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  555. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  556. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  557. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  558. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  559. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  560. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  561. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  562. data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
  563. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -211,12 +211,24 @@
211
211
 
212
212
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
213
213
 
214
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
215
+
216
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
217
+
218
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
219
+
220
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
221
+
222
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
223
+
224
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
225
+
226
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
227
+
214
228
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
215
229
 
216
230
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
217
231
 
218
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
219
-
220
232
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
221
233
 
222
234
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -331,6 +343,8 @@
331
343
 
332
344
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
333
345
 
346
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
347
+
334
348
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
335
349
 
336
350
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -389,6 +403,8 @@
389
403
 
390
404
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
391
405
 
406
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
407
+
392
408
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
393
409
 
394
410
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -435,6 +451,10 @@
435
451
 
436
452
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
437
453
 
454
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
455
+
456
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
457
+
438
458
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
439
459
 
440
460
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -485,6 +505,10 @@
485
505
 
486
506
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
487
507
 
508
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
509
+
510
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
511
+
488
512
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
489
513
 
490
514
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -641,18 +665,22 @@
641
665
  39: <span class="ruby-ivar">@freeze</span> = <span class="ruby-keyword kw">false</span>
642
666
  40: <span class="ruby-comment cmt"># The cut-off date for the freeze</span>
643
667
  41: <span class="ruby-ivar">@freezeDate</span> = <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">align</span>(<span class="ruby-value">3600</span>)
644
- 42: <span class="ruby-comment cmt"># Don't generate any reports.</span>
645
- 43: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">false</span>
646
- 44: <span class="ruby-comment cmt"># The directory where generated reports should be put in.</span>
647
- 45: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
648
- 46: <span class="ruby-comment cmt"># The file names of the time sheet files to check.</span>
649
- 47: <span class="ruby-ivar">@timeSheets</span> = []
650
- 48: <span class="ruby-comment cmt"># The file names of the status sheet files to check.</span>
651
- 49: <span class="ruby-ivar">@statusSheets</span> = []
652
- 50:
653
- 51: <span class="ruby-comment cmt"># Show some progress information by default</span>
654
- 52: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">false</span>
655
- 53: <span class="ruby-keyword kw">end</span></pre>
668
+ 42: <span class="ruby-comment cmt"># Should bookings be grouped by Task or by Resource (default).</span>
669
+ 43: <span class="ruby-ivar">@freezeByTask</span> = <span class="ruby-keyword kw">false</span>
670
+ 44: <span class="ruby-comment cmt"># Don't generate any reports.</span>
671
+ 45: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">false</span>
672
+ 46: <span class="ruby-comment cmt"># Treat warnings like errors or not.</span>
673
+ 47: <span class="ruby-ivar">@abortOnWarning</span> = <span class="ruby-keyword kw">false</span>
674
+ 48: <span class="ruby-comment cmt"># The directory where generated reports should be put in.</span>
675
+ 49: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
676
+ 50: <span class="ruby-comment cmt"># The file names of the time sheet files to check.</span>
677
+ 51: <span class="ruby-ivar">@timeSheets</span> = []
678
+ 52: <span class="ruby-comment cmt"># The file names of the status sheet files to check.</span>
679
+ 53: <span class="ruby-ivar">@statusSheets</span> = []
680
+ 54:
681
+ 55: <span class="ruby-comment cmt"># Show some progress information by default</span>
682
+ 56: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">false</span>
683
+ 57: <span class="ruby-keyword kw">end</span></pre>
656
684
  </div>
657
685
 
658
686
  </div>
@@ -689,47 +717,49 @@
689
717
  <div class="method-source-code"
690
718
  id="app-ain-source">
691
719
  <pre>
692
- <span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3.rb, line 122</span>
693
- 122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">appMain</span>(<span class="ruby-identifier">files</span>)
694
- 123: <span class="ruby-keyword kw">begin</span>
695
- 124: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
696
- 125: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'You must provide at least one .tjp file'</span>, <span class="ruby-value">1</span>)
697
- 126: <span class="ruby-keyword kw">end</span>
698
- 127:
699
- 128: <span class="ruby-identifier">tj</span> = <span class="ruby-constant">TaskJuggler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
700
- 129: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">maxCpuCores</span> = <span class="ruby-ivar">@maxCpuCores</span>
701
- 130: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
702
- 131: <span class="ruby-identifier">keepParser</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">empty?</span>
703
- 132: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span>)
704
- 133:
705
- 134: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@checkSyntax</span>
706
- 135:
707
- 136: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">schedule</span>
708
- 137: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@forceReports</span>
709
- 138: <span class="ruby-keyword kw">end</span>
710
- 139:
711
- 140: <span class="ruby-comment cmt"># The checks of time and status sheets is probably only used for</span>
712
- 141: <span class="ruby-comment cmt"># debugging. Normally, this function is provided by tj3client.</span>
713
- 142: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ts</span><span class="ruby-operator">|</span>
714
- 143: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">ts</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
715
- 144: <span class="ruby-keyword kw">end</span>
716
- 145: <span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ss</span><span class="ruby-operator">|</span>
717
- 146: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">ss</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
718
- 147: <span class="ruby-keyword kw">end</span>
719
- 148:
720
- 149: <span class="ruby-comment cmt"># Check for freeze mode and generate the booking file if requested.</span>
721
- 150: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">freeze</span>(<span class="ruby-ivar">@freezeDate</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@freeze</span>
722
- 151:
723
- 152: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@noReports</span>
720
+ <span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3.rb, line 135</span>
721
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">appMain</span>(<span class="ruby-identifier">files</span>)
722
+ 136: <span class="ruby-keyword kw">begin</span>
723
+ 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
724
+ 138: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'You must provide at least one .tjp file'</span>, <span class="ruby-value">1</span>)
725
+ 139: <span class="ruby-keyword kw">end</span>
726
+ 140:
727
+ 141: <span class="ruby-identifier">tj</span> = <span class="ruby-constant">TaskJuggler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
728
+ 142: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">maxCpuCores</span> = <span class="ruby-ivar">@maxCpuCores</span>
729
+ 143: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
730
+ 144: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">abortOnWarning</span> = <span class="ruby-ivar">@abortOnWarning</span>
731
+ 145: <span class="ruby-identifier">keepParser</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">empty?</span>
732
+ 146: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span>)
733
+ 147:
734
+ 148: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@checkSyntax</span>
735
+ 149:
736
+ 150: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">schedule</span>
737
+ 151: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@forceReports</span>
738
+ 152: <span class="ruby-keyword kw">end</span>
724
739
  153:
725
- 154: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">generateReports</span>(<span class="ruby-ivar">@outputDir</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
726
- 155:
727
- 156: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjRuntimeError</span>
728
- 157: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span>
729
- 158: <span class="ruby-keyword kw">end</span>
730
- 159:
731
- 160: <span class="ruby-value">0</span>
732
- 161: <span class="ruby-keyword kw">end</span></pre>
740
+ 154: <span class="ruby-comment cmt"># The checks of time and status sheets is probably only used for</span>
741
+ 155: <span class="ruby-comment cmt"># debugging. Normally, this function is provided by tj3client.</span>
742
+ 156: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ts</span><span class="ruby-operator">|</span>
743
+ 157: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">ts</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
744
+ 158: <span class="ruby-keyword kw">end</span>
745
+ 159: <span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ss</span><span class="ruby-operator">|</span>
746
+ 160: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">ss</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
747
+ 161: <span class="ruby-keyword kw">end</span>
748
+ 162:
749
+ 163: <span class="ruby-comment cmt"># Check for freeze mode and generate the booking file if requested.</span>
750
+ 164: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@freeze</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">freeze</span>(<span class="ruby-ivar">@freezeDate</span>, <span class="ruby-ivar">@freezeByTask</span>) <span class="ruby-operator">&amp;&amp;</span>
751
+ 165: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
752
+ 166:
753
+ 167: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@noReports</span>
754
+ 168:
755
+ 169: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">generateReports</span>(<span class="ruby-ivar">@outputDir</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
756
+ 170:
757
+ 171: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjRuntimeError</span>
758
+ 172: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span>
759
+ 173: <span class="ruby-keyword kw">end</span>
760
+ 174:
761
+ 175: <span class="ruby-value">0</span>
762
+ 176: <span class="ruby-keyword kw">end</span></pre>
733
763
  </div>
734
764
 
735
765
  </div>
@@ -760,70 +790,79 @@
760
790
  <div class="method-source-code"
761
791
  id="process-rguments-source">
762
792
  <pre>
763
- <span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3.rb, line 55</span>
764
- 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
765
- 56: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">do</span>
766
- 57: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">This is the main application. It reads in your project files, schedules theproject and generates the reports.</span>
767
- 58: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debuglevel N'</span>, <span class="ruby-constant">Integer</span>,
768
- 59: <span class="ruby-identifier">format</span>(<span class="ruby-value str">&quot;Verbosity of debug output&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
769
- 60: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">level</span> = <span class="ruby-identifier">arg</span>
770
- 61: <span class="ruby-keyword kw">end</span>
771
- 62: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debugmodules x,y,z'</span>, <span class="ruby-constant">Array</span>,
772
- 63: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Restrict debug output to a list of modules'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
773
- 64: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">segments</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">','</span>)
793
+ <span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3.rb, line 59</span>
794
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
795
+ 60: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">do</span>
796
+ 61: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">This is the main application. It reads in your project files, schedules theproject and generates the reports.</span>
797
+ 62: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debuglevel N'</span>, <span class="ruby-constant">Integer</span>,
798
+ 63: <span class="ruby-identifier">format</span>(<span class="ruby-value str">&quot;Verbosity of debug output&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
799
+ 64: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">level</span> = <span class="ruby-identifier">arg</span>
774
800
  65: <span class="ruby-keyword kw">end</span>
775
- 66: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-f'</span>, <span class="ruby-value str">'--force-reports'</span>,
776
- 67: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Generate reports despite scheduling errors'</span>)) <span class="ruby-keyword kw">do</span>
777
- 68: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">true</span>
801
+ 66: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debugmodules x,y,z'</span>, <span class="ruby-constant">Array</span>,
802
+ 67: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Restrict debug output to a list of modules'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
803
+ 68: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">segments</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">','</span>)
778
804
  69: <span class="ruby-keyword kw">end</span>
779
- 70: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--freeze'</span>,
780
- 71: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Generate or update the booking file for '</span> <span class="ruby-operator">+</span>
781
- 72: <span class="ruby-value str">'the project. The file will have the same '</span> <span class="ruby-operator">+</span>
782
- 73: <span class="ruby-value str">'base name as the project file but has a '</span> <span class="ruby-operator">+</span>
783
- 74: <span class="ruby-value str">'-bookings.tji extension.'</span>)) <span class="ruby-keyword kw">do</span>
784
- 75: <span class="ruby-ivar">@freeze</span> = <span class="ruby-keyword kw">true</span>
785
- 76: <span class="ruby-keyword kw">end</span>
786
- 77: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--freezedate &lt;date&gt;'</span>, <span class="ruby-constant">String</span>,
787
- 78: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Use a different date than the current moment'</span> <span class="ruby-operator">+</span>
788
- 79: <span class="ruby-value str">'as cut-off date for the booking file'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
789
- 80: <span class="ruby-keyword kw">begin</span>
790
- 81: <span class="ruby-ivar">@freezeDate</span> = <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">arg</span>).<span class="ruby-identifier">align</span>(<span class="ruby-value">3600</span>)
791
- 82: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
792
- 83: <span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Invalid freeze date: #{msg}&quot;</span>)
793
- 84: <span class="ruby-keyword kw">end</span>
794
- 85: <span class="ruby-keyword kw">end</span>
795
- 86: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-time-sheet &lt;tji-file&gt;'</span>, <span class="ruby-constant">String</span>,
796
- 87: <span class="ruby-identifier">format</span>(<span class="ruby-value str">&quot;Check the given time sheet&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
797
- 88: <span class="ruby-ivar">@timeSheets</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>
805
+ 70: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-f'</span>, <span class="ruby-value str">'--force-reports'</span>,
806
+ 71: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Generate reports despite scheduling errors'</span>)) <span class="ruby-keyword kw">do</span>
807
+ 72: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">true</span>
808
+ 73: <span class="ruby-keyword kw">end</span>
809
+ 74: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--freeze'</span>,
810
+ 75: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Generate or update the booking file for '</span> <span class="ruby-operator">+</span>
811
+ 76: <span class="ruby-value str">'the project. The file will have the same '</span> <span class="ruby-operator">+</span>
812
+ 77: <span class="ruby-value str">'base name as the project file but has a '</span> <span class="ruby-operator">+</span>
813
+ 78: <span class="ruby-value str">'-bookings.tji extension.'</span>)) <span class="ruby-keyword kw">do</span>
814
+ 79: <span class="ruby-ivar">@freeze</span> = <span class="ruby-keyword kw">true</span>
815
+ 80: <span class="ruby-keyword kw">end</span>
816
+ 81: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--freezedate &lt;date&gt;'</span>, <span class="ruby-constant">String</span>,
817
+ 82: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Use a different date than the current moment'</span> <span class="ruby-operator">+</span>
818
+ 83: <span class="ruby-value str">'as cut-off date for the booking file'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
819
+ 84: <span class="ruby-keyword kw">begin</span>
820
+ 85: <span class="ruby-ivar">@freezeDate</span> = <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">arg</span>).<span class="ruby-identifier">align</span>(<span class="ruby-value">3600</span>)
821
+ 86: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
822
+ 87: <span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Invalid freeze date: #{msg}&quot;</span>)
823
+ 88: <span class="ruby-keyword kw">end</span>
798
824
  89: <span class="ruby-keyword kw">end</span>
799
- 90: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-status-sheet &lt;tji-file&gt;'</span>, <span class="ruby-constant">String</span>,
800
- 91: <span class="ruby-identifier">format</span>(<span class="ruby-value str">&quot;Check the given status sheet&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
801
- 92: <span class="ruby-ivar">@statusSheets</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>
802
- 93: <span class="ruby-keyword kw">end</span>
803
- 94: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--warn-ts-deltas'</span>,
804
- 95: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Turn on warnings for requested changes in time '</span> <span class="ruby-operator">+</span>
805
- 96: <span class="ruby-value str">'sheets'</span>)) <span class="ruby-keyword kw">do</span>
806
- 97: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">true</span>
825
+ 90: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--freezebytask'</span>,
826
+ 91: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Group the bookings in the booking file generated '</span> <span class="ruby-operator">+</span>
827
+ 92: <span class="ruby-value str">'during a freeze by task instead of by resource.'</span>)) <span class="ruby-keyword kw">do</span>
828
+ 93: <span class="ruby-ivar">@freezeByTask</span> = <span class="ruby-keyword kw">true</span>
829
+ 94: <span class="ruby-keyword kw">end</span>
830
+ 95: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-time-sheet &lt;tji-file&gt;'</span>, <span class="ruby-constant">String</span>,
831
+ 96: <span class="ruby-identifier">format</span>(<span class="ruby-value str">&quot;Check the given time sheet&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
832
+ 97: <span class="ruby-ivar">@timeSheets</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>
807
833
  98: <span class="ruby-keyword kw">end</span>
808
- 99: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-syntax'</span>,
809
- 100: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Only parse the input files and check the syntax.'</span>)) <span class="ruby-keyword kw">do</span>
810
- 101: <span class="ruby-ivar">@checkSyntax</span> = <span class="ruby-keyword kw">true</span>
834
+ 99: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-status-sheet &lt;tji-file&gt;'</span>, <span class="ruby-constant">String</span>,
835
+ 100: <span class="ruby-identifier">format</span>(<span class="ruby-value str">&quot;Check the given status sheet&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
836
+ 101: <span class="ruby-ivar">@statusSheets</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>
811
837
  102: <span class="ruby-keyword kw">end</span>
812
- 103: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--no-reports'</span>,
813
- 104: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Just schedule the project, but don\t generate any '</span> <span class="ruby-operator">+</span>
814
- 105: <span class="ruby-value str">'reports.'</span>)) <span class="ruby-keyword kw">do</span>
815
- 106: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">true</span>
838
+ 103: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--warn-ts-deltas'</span>,
839
+ 104: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Turn on warnings for requested changes in time '</span> <span class="ruby-operator">+</span>
840
+ 105: <span class="ruby-value str">'sheets'</span>)) <span class="ruby-keyword kw">do</span>
841
+ 106: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">true</span>
816
842
  107: <span class="ruby-keyword kw">end</span>
817
- 108: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-o'</span>, <span class="ruby-value str">'--output-dir &lt;directory&gt;'</span>, <span class="ruby-constant">String</span>,
818
- 109: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Directory the reports should go into'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
819
- 110: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-identifier">arg</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
843
+ 108: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-syntax'</span>,
844
+ 109: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Only parse the input files and check the syntax.'</span>)) <span class="ruby-keyword kw">do</span>
845
+ 110: <span class="ruby-ivar">@checkSyntax</span> = <span class="ruby-keyword kw">true</span>
820
846
  111: <span class="ruby-keyword kw">end</span>
821
- 112: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-c N'</span>, <span class="ruby-constant">Integer</span>,
822
- 113: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Maximum number of CPU cores to use'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
823
- 114: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-identifier">arg</span>
824
- 115: <span class="ruby-keyword kw">end</span>
825
- 116: <span class="ruby-keyword kw">end</span>
826
- 117: <span class="ruby-keyword kw">end</span></pre>
847
+ 112: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--no-reports'</span>,
848
+ 113: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Just schedule the project, but don\t generate any '</span> <span class="ruby-operator">+</span>
849
+ 114: <span class="ruby-value str">'reports.'</span>)) <span class="ruby-keyword kw">do</span>
850
+ 115: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">true</span>
851
+ 116: <span class="ruby-keyword kw">end</span>
852
+ 117: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--abort-on-warnings'</span>,
853
+ 118: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Abort program on warnings like we do on errors.'</span>)) <span class="ruby-keyword kw">do</span>
854
+ 119: <span class="ruby-ivar">@abortOnWarning</span> = <span class="ruby-keyword kw">true</span>
855
+ 120: <span class="ruby-keyword kw">end</span>
856
+ 121: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-o'</span>, <span class="ruby-value str">'--output-dir &lt;directory&gt;'</span>, <span class="ruby-constant">String</span>,
857
+ 122: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Directory the reports should go into'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
858
+ 123: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-identifier">arg</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
859
+ 124: <span class="ruby-keyword kw">end</span>
860
+ 125: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-c N'</span>, <span class="ruby-constant">Integer</span>,
861
+ 126: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Maximum number of CPU cores to use'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
862
+ 127: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-identifier">arg</span>
863
+ 128: <span class="ruby-keyword kw">end</span>
864
+ 129: <span class="ruby-keyword kw">end</span>
865
+ 130: <span class="ruby-keyword kw">end</span></pre>
827
866
  </div>
828
867
 
829
868
  </div>
@@ -217,12 +217,24 @@
217
217
 
218
218
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
219
219
 
220
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
221
+
222
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
223
+
224
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
225
+
226
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
227
+
228
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
229
+
230
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
231
+
232
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
233
+
220
234
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
221
235
 
222
236
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
223
237
 
224
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
225
-
226
238
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
227
239
 
228
240
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -337,6 +349,8 @@
337
349
 
338
350
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
339
351
 
352
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
353
+
340
354
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
341
355
 
342
356
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -395,6 +409,8 @@
395
409
 
396
410
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
397
411
 
412
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
413
+
398
414
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
399
415
 
400
416
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -441,6 +457,10 @@
441
457
 
442
458
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
443
459
 
460
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
461
+
462
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
463
+
444
464
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
445
465
 
446
466
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -491,6 +511,10 @@
491
511
 
492
512
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
493
513
 
514
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
515
+
516
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
517
+
494
518
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
495
519
 
496
520
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -233,12 +233,24 @@
233
233
 
234
234
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
235
235
 
236
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
237
+
238
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
239
+
240
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
241
+
242
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
243
+
244
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
245
+
246
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
247
+
248
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
249
+
236
250
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
237
251
 
238
252
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
239
253
 
240
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
241
-
242
254
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
243
255
 
244
256
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -353,6 +365,8 @@
353
365
 
354
366
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
355
367
 
368
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
369
+
356
370
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
357
371
 
358
372
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -411,6 +425,8 @@
411
425
 
412
426
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
413
427
 
428
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
429
+
414
430
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
415
431
 
416
432
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -457,6 +473,10 @@
457
473
 
458
474
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
459
475
 
476
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
477
+
478
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
479
+
460
480
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
461
481
 
462
482
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -507,6 +527,10 @@
507
527
 
508
528
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
509
529
 
530
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
531
+
532
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
533
+
510
534
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
511
535
 
512
536
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -213,12 +213,24 @@
213
213
 
214
214
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
215
215
 
216
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
217
+
218
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
219
+
220
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
221
+
222
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
223
+
224
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
225
+
226
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
227
+
228
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
229
+
216
230
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
217
231
 
218
232
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
219
233
 
220
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
221
-
222
234
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
223
235
 
224
236
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -333,6 +345,8 @@
333
345
 
334
346
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
335
347
 
348
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
349
+
336
350
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
337
351
 
338
352
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -391,6 +405,8 @@
391
405
 
392
406
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
393
407
 
408
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
409
+
394
410
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
395
411
 
396
412
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -437,6 +453,10 @@
437
453
 
438
454
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
439
455
 
456
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
457
+
458
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
459
+
440
460
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
441
461
 
442
462
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -487,6 +507,10 @@
487
507
 
488
508
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
489
509
 
510
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
511
+
512
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
513
+
490
514
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
491
515
 
492
516
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>