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
@@ -82,8 +82,6 @@
82
82
 
83
83
  <li><a href="#method-i-inc">#inc</a></li>
84
84
 
85
- <li><a href="#method-i-newLimit">#newLimit</a></li>
86
-
87
85
  <li><a href="#method-i-ok%3F">#ok?</a></li>
88
86
 
89
87
  <li><a href="#method-i-reset">#reset</a></li>
@@ -228,12 +226,24 @@
228
226
 
229
227
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
230
228
 
229
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
230
+
231
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
232
+
233
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
234
+
235
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
236
+
237
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
238
+
239
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
240
+
241
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
242
+
231
243
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
232
244
 
233
245
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
234
246
 
235
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
236
-
237
247
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
238
248
 
239
249
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -348,6 +358,8 @@
348
358
 
349
359
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
350
360
 
361
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
362
+
351
363
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
352
364
 
353
365
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -406,6 +418,8 @@
406
418
 
407
419
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
408
420
 
421
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
422
+
409
423
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
410
424
 
411
425
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -452,6 +466,10 @@
452
466
 
453
467
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
454
468
 
469
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
470
+
471
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
472
+
455
473
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
456
474
 
457
475
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -502,6 +520,10 @@
502
520
 
503
521
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
504
522
 
523
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
524
+
525
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
526
+
505
527
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
506
528
 
507
529
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -684,21 +706,21 @@ passed, it acts as a copy contructor.
684
706
  <div class="method-source-code"
685
707
  id="new-source">
686
708
  <pre>
687
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 122</span>
688
- 122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">limits</span> = <span class="ruby-keyword kw">nil</span>)
689
- 123: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limits</span>.<span class="ruby-identifier">nil?</span>
690
- 124: <span class="ruby-comment cmt"># Normal initialization</span>
691
- 125: <span class="ruby-ivar">@limits</span> = []
692
- 126: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
693
- 127: <span class="ruby-keyword kw">else</span>
694
- 128: <span class="ruby-comment cmt"># Deep copy content from other instance.</span>
695
- 129: <span class="ruby-ivar">@limits</span> = []
696
- 130: <span class="ruby-identifier">limits</span>.<span class="ruby-identifier">limits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
697
- 131: <span class="ruby-ivar">@limits</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">copy</span>
698
- 132: <span class="ruby-keyword kw">end</span>
699
- 133: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">limits</span>.<span class="ruby-identifier">project</span>
700
- 134: <span class="ruby-keyword kw">end</span>
701
- 135: <span class="ruby-keyword kw">end</span></pre>
709
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 135</span>
710
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">limits</span> = <span class="ruby-keyword kw">nil</span>)
711
+ 136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limits</span>.<span class="ruby-identifier">nil?</span>
712
+ 137: <span class="ruby-comment cmt"># Normal initialization</span>
713
+ 138: <span class="ruby-ivar">@limits</span> = []
714
+ 139: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
715
+ 140: <span class="ruby-keyword kw">else</span>
716
+ 141: <span class="ruby-comment cmt"># Deep copy content from other instance.</span>
717
+ 142: <span class="ruby-ivar">@limits</span> = []
718
+ 143: <span class="ruby-identifier">limits</span>.<span class="ruby-identifier">limits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
719
+ 144: <span class="ruby-ivar">@limits</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">copy</span>
720
+ 145: <span class="ruby-keyword kw">end</span>
721
+ 146: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">limits</span>.<span class="ruby-identifier">project</span>
722
+ 147: <span class="ruby-keyword kw">end</span>
723
+ 148: <span class="ruby-keyword kw">end</span></pre>
702
724
  </div>
703
725
 
704
726
  </div>
@@ -721,7 +743,7 @@ passed, it acts as a copy contructor.
721
743
  <div class="method-heading">
722
744
 
723
745
  <span class="method-name">inc</span><span
724
- class="method-args">(date, resource = nil)</span>
746
+ class="method-args">(index, resource = nil)</span>
725
747
  <span class="method-click-advice">click to toggle source</span>
726
748
 
727
749
  </div>
@@ -730,7 +752,7 @@ passed, it acts as a copy contructor.
730
752
 
731
753
  <p>
732
754
  This function increases the counters for all limits for a specific interval
733
- identified by <em>date</em>.
755
+ identified by <em>index</em>.
734
756
  </p>
735
757
 
736
758
 
@@ -738,12 +760,12 @@ identified by <em>date</em>.
738
760
  <div class="method-source-code"
739
761
  id="inc-source">
740
762
  <pre>
741
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 169</span>
742
- 169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inc</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">resource</span> = <span class="ruby-keyword kw">nil</span>)
743
- 170: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
744
- 171: <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">inc</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">resource</span>)
745
- 172: <span class="ruby-keyword kw">end</span>
746
- 173: <span class="ruby-keyword kw">end</span></pre>
763
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 236</span>
764
+ 236: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inc</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">resource</span> = <span class="ruby-keyword kw">nil</span>)
765
+ 237: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
766
+ 238: <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">inc</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">resource</span>)
767
+ 239: <span class="ruby-keyword kw">end</span>
768
+ 240: <span class="ruby-keyword kw">end</span></pre>
747
769
  </div>
748
770
 
749
771
  </div>
@@ -760,7 +782,7 @@ identified by <em>date</em>.
760
782
  <div class="method-heading">
761
783
 
762
784
  <span class="method-name">ok?</span><span
763
- class="method-args">(date = nil, upper = true, resource = nil)</span>
785
+ class="method-args">(index = nil, upper = true, resource = nil)</span>
764
786
  <span class="method-click-advice">click to toggle source</span>
765
787
 
766
788
  </div>
@@ -768,11 +790,11 @@ identified by <em>date</em>.
768
790
  <div class="method-description">
769
791
 
770
792
  <p>
771
- Check all upper limits and return true if none is exceeded. If a
772
- <em>date</em> is specified only the counters for that specific period are
773
- tested. Otherwise all periods are tested. If <em>resource</em> is nil, only
774
- non-resource-specific counters are checked, otherwise only the ones that
775
- match the <em>resource</em>.
793
+ Check all upper limits and return true if none is exceeded. If an
794
+ <em>index</em> is specified only the counters for that specific period are
795
+ tested. Otherwise all periods are tested. If <em>resource</em> is nil,
796
+ only non-resource-specific counters are checked, otherwise only the ones
797
+ that match the <em>resource</em>.
776
798
  </p>
777
799
 
778
800
 
@@ -780,13 +802,13 @@ match the <em>resource</em>.
780
802
  <div class="method-source-code"
781
803
  id="ok--source">
782
804
  <pre>
783
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 180</span>
784
- 180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ok?</span>(<span class="ruby-identifier">date</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">resource</span> = <span class="ruby-keyword kw">nil</span>)
785
- 181: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
786
- 182: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">ok?</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">upper</span>, <span class="ruby-identifier">resource</span>)
787
- 183: <span class="ruby-keyword kw">end</span>
788
- 184: <span class="ruby-keyword kw">true</span>
789
- 185: <span class="ruby-keyword kw">end</span></pre>
805
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 247</span>
806
+ 247: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ok?</span>(<span class="ruby-identifier">index</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">resource</span> = <span class="ruby-keyword kw">nil</span>)
807
+ 248: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
808
+ 249: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">ok?</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">upper</span>, <span class="ruby-identifier">resource</span>)
809
+ 250: <span class="ruby-keyword kw">end</span>
810
+ 251: <span class="ruby-keyword kw">true</span>
811
+ 252: <span class="ruby-keyword kw">end</span></pre>
790
812
  </div>
791
813
 
792
814
  </div>
@@ -819,10 +841,10 @@ Reset all counter for all limits.
819
841
  <div class="method-source-code"
820
842
  id="reset-source">
821
843
  <pre>
822
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 147</span>
823
- 147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
824
- 148: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">reset</span> }
825
- 149: <span class="ruby-keyword kw">end</span></pre>
844
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 160</span>
845
+ 160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
846
+ 161: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">reset</span> }
847
+ 162: <span class="ruby-keyword kw">end</span></pre>
826
848
  </div>
827
849
 
828
850
  </div>
@@ -858,18 +880,72 @@ In case the interval is nil, the complete project time frame is used.
858
880
  <div class="method-source-code"
859
881
  id="set-imit-source">
860
882
  <pre>
861
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 155</span>
862
- 155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">resource</span> = <span class="ruby-keyword kw">nil</span>)
863
- 156: <span class="ruby-identifier">iv</span> = <span class="ruby-identifier">interval</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>], <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>])
864
- 157: <span class="ruby-comment cmt"># If we have already a limit for the name + interval + resource</span>
865
- 158: <span class="ruby-comment cmt"># combination, we delete it first.</span>
866
- 159: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span>
867
- 160: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span>
868
- 161: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">resource</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">resource</span>
869
- 162: <span class="ruby-keyword kw">end</span>
870
- 163:
871
- 164: <span class="ruby-identifier">newLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">iv</span>, <span class="ruby-identifier">resource</span>)
872
- 165: <span class="ruby-keyword kw">end</span></pre>
883
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 168</span>
884
+ 168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">resource</span> = <span class="ruby-keyword kw">nil</span>)
885
+ 169: <span class="ruby-identifier">iv</span> = <span class="ruby-identifier">interval</span> <span class="ruby-operator">||</span> <span class="ruby-constant">ScoreboardInterval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>],
886
+ 170: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>],
887
+ 171: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>], <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>])
888
+ 172: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">ScoreboardInterval</span>)
889
+ 173: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;interval must be of class ScoreboardInterval&quot;</span>
890
+ 174: <span class="ruby-keyword kw">end</span>
891
+ 175:
892
+ 176: <span class="ruby-comment cmt"># The known ivs are aligned to start at their respective start.</span>
893
+ 177: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">startDate</span>.<span class="ruby-identifier">midnight</span>
894
+ 178: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">midnight</span>
895
+ 179: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">name</span>
896
+ 180: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'dailymax'</span>
897
+ 181: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>
898
+ 182: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
899
+ 183: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'dailymin'</span>
900
+ 184: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>
901
+ 185: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
902
+ 186: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'weeklymax'</span>
903
+ 187: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">startDate</span>.<span class="ruby-identifier">beginOfWeek</span>(
904
+ 188: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
905
+ 189: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
906
+ 190: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">7</span>
907
+ 191: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
908
+ 192: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'weeklymin'</span>
909
+ 193: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">startDate</span>.<span class="ruby-identifier">beginOfWeek</span>(
910
+ 194: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
911
+ 195: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
912
+ 196: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">7</span>
913
+ 197: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
914
+ 198: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'monthlymax'</span>
915
+ 199: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">startDate</span>.<span class="ruby-identifier">beginOfMonth</span>
916
+ 200: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">beginOfMonth</span>
917
+ 201: <span class="ruby-comment cmt"># We use 30 days ivs here. This will cause the iv to drift</span>
918
+ 202: <span class="ruby-comment cmt"># away from calendar months. But it's better than using 30.4167 which</span>
919
+ 203: <span class="ruby-comment cmt"># does not align with day boundaries.</span>
920
+ 204: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">30</span>
921
+ 205: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
922
+ 206: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'monthlymin'</span>
923
+ 207: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">startDate</span>.<span class="ruby-identifier">beginOfMonth</span>
924
+ 208: <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">beginOfMonth</span>
925
+ 209: <span class="ruby-comment cmt"># We use 30 days ivs here. This will cause the iv to drift</span>
926
+ 210: <span class="ruby-comment cmt"># away from calendar months. But it's better than using 30.4167 which</span>
927
+ 211: <span class="ruby-comment cmt"># does not align with day boundaries.</span>
928
+ 212: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">30</span>
929
+ 213: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
930
+ 214: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'maximum'</span>
931
+ 215: <span class="ruby-identifier">period</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">duration</span>
932
+ 216: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
933
+ 217: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'minimum'</span>
934
+ 218: <span class="ruby-identifier">period</span> = <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">duration</span>
935
+ 219: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
936
+ 220: <span class="ruby-keyword kw">else</span>
937
+ 221: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Limit period undefined&quot;</span>
938
+ 222: <span class="ruby-keyword kw">end</span>
939
+ 223:
940
+ 224: <span class="ruby-comment cmt"># If we have already a limit for the name + interval + resource</span>
941
+ 225: <span class="ruby-comment cmt"># combination, we delete it first.</span>
942
+ 226: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span>
943
+ 227: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">startDate</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">startDate</span> <span class="ruby-operator">&amp;&amp;</span>
944
+ 228: <span class="ruby-identifier">l</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">endDate</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">endDate</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">resource</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">resource</span>
945
+ 229: <span class="ruby-keyword kw">end</span>
946
+ 230:
947
+ 231: <span class="ruby-ivar">@limits</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Limit</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">iv</span>, <span class="ruby-identifier">period</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">upper</span>, <span class="ruby-identifier">resource</span>)
948
+ 232: <span class="ruby-keyword kw">end</span></pre>
873
949
  </div>
874
950
 
875
951
  </div>
@@ -903,106 +979,13 @@ period.
903
979
  <div class="method-source-code"
904
980
  id="set-roject-source">
905
981
  <pre>
906
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 139</span>
907
- 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setProject</span>(<span class="ruby-identifier">project</span>)
908
- 140: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">empty?</span>
909
- 141: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Cannot change project after limits have been set!&quot;</span>
910
- 142: <span class="ruby-keyword kw">end</span>
911
- 143: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
912
- 144: <span class="ruby-keyword kw">end</span></pre>
913
- </div>
914
-
915
- </div>
916
-
917
-
918
-
919
-
920
- </div>
921
-
922
-
923
- </div>
924
-
925
- <div id="private-instance-method-details" class="method-section section">
926
- <h3 class="section-header">Private Instance Methods</h3>
927
-
928
-
929
- <div id="new-imit-method" class="method-detail ">
930
- <a name="method-i-newLimit"></a>
931
-
932
- <div class="method-heading">
933
-
934
- <span class="method-name">newLimit</span><span
935
- class="method-args">(name, value, interval, resource)</span>
936
- <span class="method-click-advice">click to toggle source</span>
937
-
938
- </div>
939
-
940
- <div class="method-description">
941
-
942
- <p>
943
- This function creates a new <a href="Limits/Limit.html">Limit</a>
944
- identified by <em>name</em>. In case <em>name</em> is none of the
945
- predefined intervals (e. g. dailymax, weeklymin, monthlymax) a the whole
946
- interval is used for the period length.
947
- </p>
948
-
949
-
950
-
951
- <div class="method-source-code"
952
- id="new-imit-source">
953
- <pre>
954
- <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 192</span>
955
- 192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>, <span class="ruby-identifier">resource</span>)
956
- 193: <span class="ruby-comment cmt"># The known intervals are aligned to start at their respective start.</span>
957
- 194: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">midnight</span>
958
- 195: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>.<span class="ruby-identifier">midnight</span>
959
- 196: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">name</span>
960
- 197: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'dailymax'</span>
961
- 198: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>
962
- 199: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
963
- 200: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'dailymin'</span>
964
- 201: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>
965
- 202: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
966
- 203: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'weeklymax'</span>
967
- 204: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">beginOfWeek</span>(
968
- 205: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
969
- 206: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>.<span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
970
- 207: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">7</span>
971
- 208: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
972
- 209: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'weeklymin'</span>
973
- 210: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">beginOfWeek</span>(
974
- 211: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
975
- 212: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>.<span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekStartsMonday'</span>])
976
- 213: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">7</span>
977
- 214: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
978
- 215: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'monthlymax'</span>
979
- 216: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">beginOfMonth</span>
980
- 217: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>.<span class="ruby-identifier">beginOfMonth</span>
981
- 218: <span class="ruby-comment cmt"># We use 30 days intervals here. This will cause the interval to drift</span>
982
- 219: <span class="ruby-comment cmt"># away from calendar months. But it's better than using 30.4167 which</span>
983
- 220: <span class="ruby-comment cmt"># does not align with day boundaries.</span>
984
- 221: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">30</span>
985
- 222: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
986
- 223: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'monthlymin'</span>
987
- 224: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">beginOfMonth</span>
988
- 225: <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>.<span class="ruby-identifier">beginOfMonth</span>
989
- 226: <span class="ruby-comment cmt"># We use 30 days intervals here. This will cause the interval to drift</span>
990
- 227: <span class="ruby-comment cmt"># away from calendar months. But it's better than using 30.4167 which</span>
991
- 228: <span class="ruby-comment cmt"># does not align with day boundaries.</span>
992
- 229: <span class="ruby-identifier">period</span> = <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">30</span>
993
- 230: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
994
- 231: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'maximum'</span>
995
- 232: <span class="ruby-identifier">period</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>
996
- 233: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">true</span>
997
- 234: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'minimum'</span>
998
- 235: <span class="ruby-identifier">period</span> = <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>
999
- 236: <span class="ruby-identifier">upper</span> = <span class="ruby-keyword kw">false</span>
1000
- 237: <span class="ruby-keyword kw">else</span>
1001
- 238: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Limit period undefined&quot;</span>
1002
- 239: <span class="ruby-keyword kw">end</span>
1003
- 240:
1004
- 241: <span class="ruby-ivar">@limits</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Limit</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">interval</span>, <span class="ruby-identifier">period</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">upper</span>, <span class="ruby-identifier">resource</span>)
1005
- 242: <span class="ruby-keyword kw">end</span></pre>
982
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Limits.rb, line 152</span>
983
+ 152: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setProject</span>(<span class="ruby-identifier">project</span>)
984
+ 153: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">empty?</span>
985
+ 154: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Cannot change project after limits have been set!&quot;</span>
986
+ 155: <span class="ruby-keyword kw">end</span>
987
+ 156: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
988
+ 157: <span class="ruby-keyword kw">end</span></pre>
1006
989
  </div>
1007
990
 
1008
991
  </div>
@@ -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>
@@ -608,7 +632,7 @@
608
632
  <div class="method-heading">
609
633
 
610
634
  <span class="method-name">new</span><span
611
- class="method-args">(property, type)</span>
635
+ class="method-args">(property, type, container)</span>
612
636
  <span class="method-click-advice">click to toggle source</span>
613
637
 
614
638
  </div>
@@ -623,10 +647,11 @@
623
647
  id="new-source">
624
648
  <pre>
625
649
  <span class="ruby-comment cmt"># File lib/taskjuggler/Attributes.rb, line 335</span>
626
- 335: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
650
+ 335: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">container</span>)
627
651
  336: <span class="ruby-keyword kw">super</span>
628
- 337: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">setProject</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@value</span>
629
- 338: <span class="ruby-keyword kw">end</span></pre>
652
+ 337: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">get</span>
653
+ 338: <span class="ruby-identifier">v</span>.<span class="ruby-identifier">setProject</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>
654
+ 339: <span class="ruby-keyword kw">end</span></pre>
630
655
  </div>
631
656
 
632
657
  </div>
@@ -657,10 +682,10 @@
657
682
  <div class="method-source-code"
658
683
  id="tjp-d-source">
659
684
  <pre>
660
- <span class="ruby-comment cmt"># File lib/taskjuggler/Attributes.rb, line 340</span>
661
- 340: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LimitsAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
662
- 341: <span class="ruby-value str">'limits'</span>
663
- 342: <span class="ruby-keyword kw">end</span></pre>
685
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Attributes.rb, line 341</span>
686
+ 341: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">LimitsAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
687
+ 342: <span class="ruby-value str">'limits'</span>
688
+ 343: <span class="ruby-keyword kw">end</span></pre>
664
689
  </div>
665
690
 
666
691
  </div>
@@ -697,10 +722,10 @@
697
722
  <div class="method-source-code"
698
723
  id="to-tjp-source">
699
724
  <pre>
700
- <span class="ruby-comment cmt"># File lib/taskjuggler/Attributes.rb, line 344</span>
701
- 344: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
702
- 345: <span class="ruby-value str">'This code is still missing!'</span>
703
- 346: <span class="ruby-keyword kw">end</span></pre>
725
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Attributes.rb, line 345</span>
726
+ 345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
727
+ 346: <span class="ruby-value str">'This code is still missing!'</span>
728
+ 347: <span class="ruby-keyword kw">end</span></pre>
704
729
  </div>
705
730
 
706
731
  </div>