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
@@ -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