taskjuggler 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -23,7 +23,7 @@ require 'taskjuggler/WorkingHours'
23
23
  class TaskJuggler
24
24
 
25
25
  class AccountAttribute < AttributeBase
26
- def initialize(property, type)
26
+ def initialize(property, type, container)
27
27
  super
28
28
  end
29
29
 
@@ -32,20 +32,20 @@ class TaskJuggler
32
32
  end
33
33
 
34
34
  def to_s(query = nil)
35
- @value ? @value.id : ''
35
+ (v = get) ? v.id : ''
36
36
  end
37
37
 
38
38
  def to_tjp
39
- @value ? @value.id : ''
39
+ (v = get)? v.id : ''
40
40
  end
41
41
 
42
42
  end
43
43
 
44
44
  class AllocationAttribute < AttributeBase
45
- def initialize(property, type)
45
+ def initialize(property, type, container)
46
46
  super
47
47
 
48
- @value = Array.new
48
+ set(Array.new)
49
49
  end
50
50
 
51
51
  def AllocationAttribute::tjpId
@@ -54,7 +54,7 @@ class TaskJuggler
54
54
 
55
55
  def to_tjp
56
56
  out = []
57
- @value.each do |allocation|
57
+ get.each do |allocation|
58
58
  out.push("allocate #{allocation.to_tjp}\n")
59
59
  # TODO: incomplete
60
60
  end
@@ -64,7 +64,7 @@ class TaskJuggler
64
64
  def to_s(query = nil)
65
65
  out = ''
66
66
  first = true
67
- @value.each do |allocation|
67
+ get.each do |allocation|
68
68
  if first
69
69
  first = false
70
70
  else
@@ -91,7 +91,7 @@ class TaskJuggler
91
91
  end
92
92
 
93
93
  class BookingListAttribute < ListAttributeBase
94
- def initialize(property, type)
94
+ def initialize(property, type, container)
95
95
  super
96
96
  end
97
97
 
@@ -100,7 +100,7 @@ class TaskJuggler
100
100
  end
101
101
 
102
102
  def to_s(query = nil)
103
- @value.collect{ |x| x.to_s }.join(', ')
103
+ get.collect{ |x| x.to_s }.join(', ')
104
104
  end
105
105
 
106
106
  def to_tjp
@@ -110,7 +110,7 @@ class TaskJuggler
110
110
  end
111
111
 
112
112
  class BooleanAttribute < AttributeBase
113
- def initialize(property, type)
113
+ def initialize(property, type, container)
114
114
  super
115
115
  end
116
116
 
@@ -119,17 +119,17 @@ class TaskJuggler
119
119
  end
120
120
 
121
121
  def to_s(query = nil)
122
- @value ? 'true' : 'false'
122
+ get ? 'true' : 'false'
123
123
  end
124
124
 
125
125
  def to_tjp
126
- @type.id + ' ' + (@value ? 'yes' : 'no')
126
+ @type.id + ' ' + (get ? 'yes' : 'no')
127
127
  end
128
128
 
129
129
  end
130
130
 
131
131
  class ChargeListAttribute < ListAttributeBase
132
- def initialize(property, type)
132
+ def initialize(property, type, container)
133
133
  super
134
134
  end
135
135
 
@@ -138,7 +138,7 @@ class TaskJuggler
138
138
  end
139
139
 
140
140
  def to_s(query = nil)
141
- @value.join(', ')
141
+ get.join(', ')
142
142
  end
143
143
 
144
144
  end
@@ -147,7 +147,7 @@ class TaskJuggler
147
147
  # PropertyTreeNode attributes.
148
148
  class ChargeSetListAttribute < ListAttributeBase
149
149
 
150
- def initialize(property, type)
150
+ def initialize(property, type, container)
151
151
  super
152
152
  end
153
153
 
@@ -157,13 +157,13 @@ class TaskJuggler
157
157
 
158
158
  def to_s(query = nil)
159
159
  out = []
160
- @value.each { |i| out << i.to_s }
160
+ get.each { |i| out << i.to_s }
161
161
  out.join(", ")
162
162
  end
163
163
 
164
164
  def to_tjp
165
165
  out = []
166
- @value.each { |i| out << i.to_s }
166
+ get.each { |i| out << i.to_s }
167
167
  @type.id + " " + out.join(', ')
168
168
  end
169
169
 
@@ -171,7 +171,7 @@ class TaskJuggler
171
171
 
172
172
  class ColumnListAttribute < ListAttributeBase
173
173
 
174
- def initialize(property, type)
174
+ def initialize(property, type, container)
175
175
  super
176
176
  end
177
177
 
@@ -185,13 +185,13 @@ class TaskJuggler
185
185
  end
186
186
 
187
187
  class DateAttribute < AttributeBase
188
- def initialize(property, type)
188
+ def initialize(property, type, container)
189
189
  super
190
190
  end
191
191
 
192
192
  def to_s(query = nil)
193
- if @value
194
- @value.to_s(query ? query.timeFormat : '%Y-%m-%d')
193
+ if (v = get)
194
+ v.to_s(query ? query.timeFormat : '%Y-%m-%d')
195
195
  else
196
196
  'Error'
197
197
  end
@@ -203,13 +203,13 @@ class TaskJuggler
203
203
  end
204
204
 
205
205
  class DefinitionListAttribute < ListAttributeBase
206
- def initialize(property, type)
206
+ def initialize(property, type, container)
207
207
  super
208
208
  end
209
209
  end
210
210
 
211
211
  class DependencyListAttribute < ListAttributeBase
212
- def initialize(property, type)
212
+ def initialize(property, type, container)
213
213
  super
214
214
  end
215
215
 
@@ -219,20 +219,20 @@ class TaskJuggler
219
219
 
220
220
  def to_s(query = nil)
221
221
  out = []
222
- @value.each { |t| out << t.task.fullId if t.task }
222
+ get.each { |t| out << t.task.fullId if t.task }
223
223
  out.join(', ')
224
224
  end
225
225
 
226
226
  def to_tjp
227
227
  out = []
228
- @value.each { |taskDep| out << taskDep.task.fullId }
228
+ get.each { |taskDep| out << taskDep.task.fullId }
229
229
  @type.id + " " + out.join(', ')
230
230
  end
231
231
 
232
232
  end
233
233
 
234
234
  class DurationAttribute < AttributeBase
235
- def initialize(property, type)
235
+ def initialize(property, type, container)
236
236
  super
237
237
  end
238
238
 
@@ -241,18 +241,18 @@ class TaskJuggler
241
241
  end
242
242
 
243
243
  def to_tjp
244
- @type.id + ' ' + @value.to_s + 'h'
244
+ @type.id + ' ' + get.to_s + 'h'
245
245
  end
246
246
 
247
247
  def to_s(query = nil)
248
- query ? query.scaleDuration(query.project.slotsToDays(@value)) :
249
- @value.to_s
248
+ query ? query.scaleDuration(query.project.slotsToDays(get)) :
249
+ get.to_s
250
250
  end
251
251
 
252
252
  end
253
253
 
254
254
  class FixnumAttribute < AttributeBase
255
- def initialize(property, type)
255
+ def initialize(property, type, container)
256
256
  super
257
257
  end
258
258
 
@@ -262,7 +262,7 @@ class TaskJuggler
262
262
  end
263
263
 
264
264
  class FlagListAttribute < ListAttributeBase
265
- def initialize(property, type)
265
+ def initialize(property, type, container)
266
266
  super
267
267
  end
268
268
 
@@ -271,17 +271,17 @@ class TaskJuggler
271
271
  end
272
272
 
273
273
  def to_s(query = nil)
274
- @value.join(', ')
274
+ get.join(', ')
275
275
  end
276
276
 
277
277
  def to_tjp
278
- "flags #{@value.join(', ')}"
278
+ "flags #{get.join(', ')}"
279
279
  end
280
280
 
281
281
  end
282
282
 
283
283
  class FloatAttribute < AttributeBase
284
- def initialize(property, type)
284
+ def initialize(property, type, container)
285
285
  super
286
286
  end
287
287
 
@@ -290,41 +290,41 @@ class TaskJuggler
290
290
  end
291
291
 
292
292
  def to_tjp
293
- id + ' ' + @value.to_s
293
+ id + ' ' + get.to_s
294
294
  end
295
295
 
296
296
  end
297
297
 
298
298
  class FormatListAttribute < ListAttributeBase
299
299
 
300
- def initialize(property, type)
300
+ def initialize(property, type, container)
301
301
  super
302
302
  end
303
303
 
304
304
  def to_s(query = nil)
305
- @value.join(', ')
305
+ get.join(', ')
306
306
  end
307
307
 
308
308
  end
309
309
 
310
- class IntervalListAttribute < ListAttributeBase
311
- def initialize(property, type)
310
+ class TimeIntervalListAttribute < ListAttributeBase
311
+ def initialize(property, type, container)
312
312
  super
313
313
  end
314
314
 
315
- def IntervalListAttribute::tjpId
315
+ def TimeIntervalListAttribute::tjpId
316
316
  'intervallist'
317
317
  end
318
318
 
319
319
  def to_s(query = nil)
320
320
  out = []
321
- @value.each { |i| out << i.to_s }
321
+ get.each { |i| out << i.to_s }
322
322
  out.join(", ")
323
323
  end
324
324
 
325
325
  def to_tjp
326
326
  out = []
327
- @value.each { |i| out << i.to_s }
327
+ get.each { |i| out << i.to_s }
328
328
  @type.id + " " + out.join(', ')
329
329
  end
330
330
 
@@ -332,9 +332,10 @@ class TaskJuggler
332
332
 
333
333
  class LimitsAttribute < AttributeBase
334
334
 
335
- def initialize(property, type)
335
+ def initialize(property, type, container)
336
336
  super
337
- @value.setProject(property.project) if @value
337
+ v = get
338
+ v.setProject(property.project) if v
338
339
  end
339
340
 
340
341
  def LimitsAttribute::tjpId
@@ -349,7 +350,7 @@ class TaskJuggler
349
350
 
350
351
  class LogicalExpressionAttribute < AttributeBase
351
352
 
352
- def initialize(property, type)
353
+ def initialize(property, type, container)
353
354
  super
354
355
  end
355
356
 
@@ -361,7 +362,7 @@ class TaskJuggler
361
362
 
362
363
  class LogicalExpressionListAttribute < ListAttributeBase
363
364
 
364
- def initialize(property, type)
365
+ def initialize(property, type, container)
365
366
  super
366
367
  end
367
368
 
@@ -372,13 +373,13 @@ class TaskJuggler
372
373
  end
373
374
 
374
375
  class NodeListAttribute < ListAttributeBase
375
- def initialize(propery, type)
376
+ def initialize(property, type, container)
376
377
  super
377
378
  end
378
379
  end
379
380
 
380
381
  class PropertyAttribute < AttributeBase
381
- def initialize(property, type)
382
+ def initialize(property, type, container)
382
383
  super
383
384
  end
384
385
 
@@ -389,14 +390,14 @@ class TaskJuggler
389
390
 
390
391
  class RealFormatAttribute < AttributeBase
391
392
 
392
- def initialize(property, type)
393
+ def initialize(property, type, container)
393
394
  super
394
395
  end
395
396
 
396
397
  end
397
398
 
398
399
  class ReferenceAttribute < AttributeBase
399
- def initialize(property, type)
400
+ def initialize(property, type, container)
400
401
  super
401
402
  end
402
403
 
@@ -409,7 +410,7 @@ class TaskJuggler
409
410
  end
410
411
 
411
412
  def to_rti(query)
412
- return nil unless @value
413
+ return nil unless get
413
414
 
414
415
  rText = RichText.new("[#{url} #{label}]")
415
416
  rText.generateIntermediateFormat
@@ -420,17 +421,17 @@ class TaskJuggler
420
421
  end
421
422
 
422
423
  def url
423
- @value ? @value[0] : nil
424
+ (v = get) ? v[0] : nil
424
425
  end
425
426
 
426
427
  def label
427
- @value ? (@value[1] ? @value[1][0] : @value[0]) : nil
428
+ (v = get) ? (v[1] ? v[1][0] : v[0]) : nil
428
429
  end
429
430
 
430
431
  end
431
432
 
432
433
  class ResourceListAttribute < ListAttributeBase
433
- def initialize(property, type)
434
+ def initialize(property, type, container)
434
435
  super
435
436
  end
436
437
 
@@ -440,14 +441,14 @@ class TaskJuggler
440
441
 
441
442
  def to_s(query = nil)
442
443
  out = []
443
- @value.each { |r| out << r.fullId }
444
+ get.each { |r| out << r.fullId }
444
445
  out.join(", ")
445
446
  end
446
447
 
447
448
  def to_rti(query = nil)
448
449
  out = []
449
450
  if query
450
- @value.each do |r|
451
+ get.each do |r|
451
452
  if query.listItem
452
453
  rti = RichText.new(query.listItem, RTFHandlers.create(r.project),
453
454
  r.project.messageHandler).
@@ -462,7 +463,7 @@ class TaskJuggler
462
463
  end
463
464
  query.assignList(out)
464
465
  else
465
- @value.each { |r| out << r.name }
466
+ get.each { |r| out << r.name }
466
467
  rText = RichText.new(out.join(', '))
467
468
  rText.generateIntermediateFormat
468
469
  end
@@ -470,19 +471,19 @@ class TaskJuggler
470
471
 
471
472
  def to_tjp
472
473
  out = []
473
- @value.each { |r| out << r.fullId }
474
+ get.each { |r| out << r.fullId }
474
475
  @type.id + " " + out.join(', ')
475
476
  end
476
477
 
477
478
  end
478
479
 
479
480
  class RichTextAttribute < AttributeBase
480
- def initialize(property, type)
481
+ def initialize(property, type, container)
481
482
  super
482
483
  end
483
484
 
484
485
  def inputText
485
- @value ? @value.richText.inputText : ''
486
+ (v = get) ? v.richText.inputText : ''
486
487
  end
487
488
 
488
489
  def RichTextAttribute::tjpId
@@ -490,11 +491,11 @@ class TaskJuggler
490
491
  end
491
492
 
492
493
  def to_s(query = nil)
493
- @value ? @value.to_s : ''
494
+ (v = get) ? v.to_s : ''
494
495
  end
495
496
 
496
497
  def to_tjp
497
- inputText = @value.richText.inputText
498
+ inputText = get.richText.inputText
498
499
  if inputText[-1] == ?\n
499
500
  "#{@type.id} -8<-\n#{inputText}\n->8-"
500
501
  else
@@ -506,7 +507,7 @@ class TaskJuggler
506
507
  end
507
508
 
508
509
  class ScenarioListAttribute < ListAttributeBase
509
- def initialize(property, type)
510
+ def initialize(property, type, container)
510
511
  super
511
512
  end
512
513
 
@@ -515,7 +516,7 @@ class TaskJuggler
515
516
  end
516
517
 
517
518
  def to_s(query = nil)
518
- @value.join(', ')
519
+ get.join(', ')
519
520
  end
520
521
 
521
522
  end
@@ -523,9 +524,10 @@ class TaskJuggler
523
524
 
524
525
  class ShiftAssignmentsAttribute < AttributeBase
525
526
 
526
- def initialize(property, type)
527
+ def initialize(property, type, container)
527
528
  super
528
- @value.project = property.project if @value
529
+ v = get
530
+ v.project = property.project if v
529
531
  end
530
532
 
531
533
  def ShiftAssignmentsAttribute::tjpId
@@ -540,7 +542,7 @@ class TaskJuggler
540
542
 
541
543
  class SortListAttribute < ListAttributeBase
542
544
 
543
- def initialize(property, type)
545
+ def initialize(property, type, container)
544
546
  super
545
547
  end
546
548
 
@@ -551,7 +553,7 @@ class TaskJuggler
551
553
  end
552
554
 
553
555
  class StringAttribute < AttributeBase
554
- def initialize(property, type)
556
+ def initialize(property, type, container)
555
557
  super
556
558
  end
557
559
 
@@ -560,13 +562,13 @@ class TaskJuggler
560
562
  end
561
563
 
562
564
  def to_tjp
563
- "#{@type.id} \"#{@value}\""
565
+ "#{@type.id} \"#{get}\""
564
566
  end
565
567
 
566
568
  end
567
569
 
568
570
  class SymbolAttribute < AttributeBase
569
- def initialize(property, type)
571
+ def initialize(property, type, container)
570
572
  super
571
573
  end
572
574
 
@@ -576,7 +578,7 @@ class TaskJuggler
576
578
  end
577
579
 
578
580
  class TaskDepListAttribute < ListAttributeBase
579
- def initialize(property, type)
581
+ def initialize(property, type, container)
580
582
  super
581
583
  end
582
584
 
@@ -586,19 +588,19 @@ class TaskJuggler
586
588
 
587
589
  def to_s(query = nil)
588
590
  out = []
589
- @value.each { |t, onEnd| out << t.fullId }
591
+ get.each { |t, onEnd| out << t.fullId }
590
592
  out.join(", ")
591
593
  end
592
594
 
593
595
  def to_tjp
594
596
  out = []
595
- @value.each { |t, onEnd| out << t.fullId }
597
+ get.each { |t, onEnd| out << t.fullId }
596
598
  @type.id + " " + out.join(', ')
597
599
  end
598
600
  end
599
601
 
600
602
  class TaskListAttribute < ListAttributeBase
601
- def initialize(property, type)
603
+ def initialize(property, type, container)
602
604
  super
603
605
  end
604
606
 
@@ -608,19 +610,19 @@ class TaskJuggler
608
610
 
609
611
  def to_s(query = nil)
610
612
  out = []
611
- @value.each { |t| out << t.fullId }
613
+ get.each { |t| out << t.fullId }
612
614
  out.join(", ")
613
615
  end
614
616
 
615
617
  def to_tjp
616
618
  out = []
617
- @value.each { |t| out << t.fullId }
619
+ get.each { |t| out << t.fullId }
618
620
  @type.id + " " + out.join(', ')
619
621
  end
620
622
  end
621
623
 
622
624
  class WorkingHoursAttribute < AttributeBase
623
- def initialize(property, type)
625
+ def initialize(property, type, container)
624
626
  super
625
627
  end
626
628
 
@@ -633,7 +635,7 @@ class TaskJuggler
633
635
  str = ''
634
636
  7.times do |day|
635
637
  str += "workinghours #{dayNames[day]} "
636
- whs = @value.getWorkingHours(day)
638
+ whs = get.getWorkingHours(day)
637
639
  if whs.empty?
638
640
  str += "off"
639
641
  str += "\n" if day < 6
@@ -40,8 +40,8 @@ class TaskJuggler
40
40
  end
41
41
  end
42
42
 
43
- def to_tjp
44
- out = "#{@resource.fullId} "
43
+ def to_tjp(taskMode)
44
+ out = taskMode ? "#{@task.fullId} " : "#{@resource.fullId} "
45
45
  first = true
46
46
  @intervals.each do |iv|
47
47
  if first
@@ -33,7 +33,7 @@ class TaskJuggler
33
33
  @scenarioIdx = scenarioIdx
34
34
  end
35
35
 
36
- # Compute the total charge for the Interval described by _period_.
36
+ # Compute the total charge for the TimeInterval described by _period_.
37
37
  def turnover(period)
38
38
  case @mode
39
39
  when :onStart
@@ -41,8 +41,8 @@ class TaskJuggler
41
41
  when :onEnd
42
42
  return period.contains?(@task['end', @scenarioIdx]) ? @amount : 0.0
43
43
  else
44
- iv = period.intersection(Interval.new(@task['start', @scenarioIdx],
45
- @task['end', @scenarioIdx]))
44
+ iv = period.intersection(TimeInterval.new(@task['start', @scenarioIdx],
45
+ @task['end', @scenarioIdx]))
46
46
  if iv
47
47
  return (iv.duration / (60 * 60 * 24)) * @amount
48
48
  else