taskjuggler 0.0.2 → 0.0.3

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 (432) hide show
  1. data/Rakefile +1 -0
  2. data/benchmarks/depends.tjp +2 -1
  3. data/benchmarks/htmltaskreport.tjp +2 -1
  4. data/doc/classes/AppConfig.html +124 -120
  5. data/doc/classes/Arguments.html +10 -6
  6. data/doc/classes/Object.html +229 -0
  7. data/doc/classes/String.html +35 -31
  8. data/doc/classes/TaskJuggler/Account.html +18 -18
  9. data/doc/classes/TaskJuggler/AccountAttribute.html +261 -0
  10. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  11. data/doc/classes/TaskJuggler/Allocation.html +34 -30
  12. data/doc/classes/TaskJuggler/AllocationAttribute.html +70 -70
  13. data/doc/classes/TaskJuggler/AttributeBase.html +131 -147
  14. data/doc/classes/TaskJuggler/AttributeDefinition.html +38 -21
  15. data/doc/classes/TaskJuggler/BatchProcessor.html +313 -0
  16. data/doc/classes/TaskJuggler/Booking.html +22 -18
  17. data/doc/classes/TaskJuggler/BookingListAttribute.html +42 -42
  18. data/doc/classes/TaskJuggler/BooleanAttribute.html +40 -40
  19. data/doc/classes/TaskJuggler/CSVFile.html +28 -24
  20. data/doc/classes/TaskJuggler/Charge.html +22 -18
  21. data/doc/classes/TaskJuggler/ChargeListAttribute.html +30 -30
  22. data/doc/classes/TaskJuggler/ChargeSet.html +41 -37
  23. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +46 -46
  24. data/doc/classes/TaskJuggler/ColumnListAttribute.html +231 -0
  25. data/doc/classes/TaskJuggler/ColumnTable.html +23 -21
  26. data/doc/classes/TaskJuggler/DateAttribute.html +20 -20
  27. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +162 -0
  28. data/doc/classes/TaskJuggler/DependencyListAttribute.html +46 -46
  29. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  30. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  31. data/doc/classes/TaskJuggler/FlagListAttribute.html +42 -42
  32. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  33. data/doc/classes/TaskJuggler/FormatListAttribute.html +197 -0
  34. data/doc/classes/TaskJuggler/GanttChart.html +236 -207
  35. data/doc/classes/TaskJuggler/GanttContainer.html +46 -42
  36. data/doc/classes/TaskJuggler/GanttHeader.html +16 -12
  37. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +16 -12
  38. data/doc/classes/TaskJuggler/GanttLine.html +28 -24
  39. data/doc/classes/TaskJuggler/GanttLoadStack.html +22 -18
  40. data/doc/classes/TaskJuggler/GanttMilestone.html +46 -42
  41. data/doc/classes/TaskJuggler/GanttRouter.html +104 -98
  42. data/doc/classes/TaskJuggler/GanttTaskBar.html +46 -42
  43. data/doc/classes/TaskJuggler/HTMLDocument.html +12 -12
  44. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  45. data/doc/classes/TaskJuggler/Interval.html +126 -120
  46. data/doc/classes/TaskJuggler/IntervalListAttribute.html +46 -46
  47. data/doc/classes/TaskJuggler/JobInfo.html +284 -0
  48. data/doc/classes/TaskJuggler/Journal.html +197 -0
  49. data/doc/classes/TaskJuggler/JournalEntry.html +218 -0
  50. data/doc/classes/TaskJuggler/KeywordArray.html +179 -0
  51. data/doc/classes/TaskJuggler/KeywordDocumentation.html +445 -396
  52. data/doc/classes/TaskJuggler/Limits/Limit.html +34 -30
  53. data/doc/classes/TaskJuggler/Limits.html +68 -62
  54. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  55. data/doc/classes/TaskJuggler/ListAttributeBase.html +207 -0
  56. data/doc/classes/TaskJuggler/Log.html +72 -68
  57. data/doc/classes/TaskJuggler/LogicalAttribute.html +38 -34
  58. data/doc/classes/TaskJuggler/LogicalExpression.html +16 -12
  59. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +194 -0
  60. data/doc/classes/TaskJuggler/LogicalFlag.html +32 -32
  61. data/doc/classes/TaskJuggler/LogicalFunction.html +28 -24
  62. data/doc/classes/TaskJuggler/LogicalOperation.html +17 -13
  63. data/doc/classes/TaskJuggler/Macro.html +10 -6
  64. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  65. data/doc/classes/TaskJuggler/MacroTable.html +40 -36
  66. data/doc/classes/TaskJuggler/Message.html +16 -12
  67. data/doc/classes/TaskJuggler/MessageHandler.html +16 -12
  68. data/doc/classes/TaskJuggler/Navigator.html +249 -0
  69. data/doc/classes/TaskJuggler/OnShiftCache.html +316 -0
  70. data/doc/classes/TaskJuggler/Project.html +1064 -678
  71. data/doc/classes/TaskJuggler/ProjectFileParser.html +90 -85
  72. data/doc/classes/TaskJuggler/PropertyAttribute.html +194 -0
  73. data/doc/classes/TaskJuggler/PropertyList.html +114 -113
  74. data/doc/classes/TaskJuggler/PropertySet.html +355 -312
  75. data/doc/classes/TaskJuggler/PropertyTreeNode.html +527 -474
  76. data/doc/classes/TaskJuggler/Query.html +90 -85
  77. data/doc/classes/TaskJuggler/RTPNavigator.html +292 -0
  78. data/doc/classes/TaskJuggler/RTPReport.html +301 -0
  79. data/doc/classes/TaskJuggler/RealFormat.html +114 -57
  80. data/doc/classes/TaskJuggler/RealFormatAttribute.html +162 -0
  81. data/doc/classes/TaskJuggler/ReferenceAttribute.html +87 -20
  82. data/doc/classes/TaskJuggler/Report.html +82 -291
  83. data/doc/classes/TaskJuggler/ReportBase.html +448 -0
  84. data/doc/classes/TaskJuggler/ReportContext.html +243 -0
  85. data/doc/classes/TaskJuggler/ReportTable.html +158 -129
  86. data/doc/classes/TaskJuggler/ReportTableCell.html +30 -26
  87. data/doc/classes/TaskJuggler/ReportTableColumn.html +29 -25
  88. data/doc/classes/TaskJuggler/ReportTableLegend.html +28 -24
  89. data/doc/classes/TaskJuggler/ReportTableLine.html +34 -30
  90. data/doc/classes/TaskJuggler/Resource.html +12 -12
  91. data/doc/classes/TaskJuggler/ResourceListAttribute.html +46 -46
  92. data/doc/classes/TaskJuggler/ResourceListRE.html +49 -57
  93. data/doc/classes/TaskJuggler/ResourceScenario.html +126 -126
  94. data/doc/classes/TaskJuggler/RichText.html +52 -48
  95. data/doc/classes/TaskJuggler/RichTextAttribute.html +30 -30
  96. data/doc/classes/TaskJuggler/RichTextDocument.html +41 -37
  97. data/doc/classes/TaskJuggler/RichTextElement.html +274 -264
  98. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  99. data/doc/classes/TaskJuggler/RichTextParser.html +48 -47
  100. data/doc/classes/TaskJuggler/RichTextProtocolExample.html +52 -55
  101. data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +55 -10
  102. data/doc/classes/TaskJuggler/RichTextScanner.html +106 -245
  103. data/doc/classes/TaskJuggler/RichTextSnip.html +28 -24
  104. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +381 -301
  105. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  106. data/doc/classes/TaskJuggler/ScenarioData.html +40 -36
  107. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +229 -0
  108. data/doc/classes/TaskJuggler/Scoreboard.html +70 -66
  109. data/doc/classes/TaskJuggler/Shift.html +18 -18
  110. data/doc/classes/TaskJuggler/ShiftAssignment.html +58 -54
  111. data/doc/classes/TaskJuggler/ShiftAssignments.html +82 -78
  112. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  113. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  114. data/doc/classes/TaskJuggler/SortListAttribute.html +196 -0
  115. data/doc/classes/TaskJuggler/SourceFileInfo.html +16 -12
  116. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  117. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  118. data/doc/classes/TaskJuggler/SyntaxReference.html +46 -42
  119. data/doc/classes/TaskJuggler/TOCEntry.html +16 -12
  120. data/doc/classes/TaskJuggler/TableColumnDefinition.html +48 -33
  121. data/doc/classes/TaskJuggler/TableOfContents.html +22 -18
  122. data/doc/classes/TaskJuggler/TableReport.html +1036 -0
  123. data/doc/classes/TaskJuggler/Task.html +12 -12
  124. data/doc/classes/TaskJuggler/TaskDependency.html +16 -12
  125. data/doc/classes/TaskJuggler/TaskListAttribute.html +46 -46
  126. data/doc/classes/TaskJuggler/TaskListRE.html +49 -58
  127. data/doc/classes/TaskJuggler/TaskScenario.html +1270 -1180
  128. data/doc/classes/TaskJuggler/TextParser/Pattern.html +100 -96
  129. data/doc/classes/TaskJuggler/TextParser/Rule.html +88 -84
  130. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -12
  131. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  132. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +10 -6
  133. data/doc/classes/TaskJuggler/TextParser.html +203 -140
  134. data/doc/classes/TaskJuggler/TextReport.html +364 -0
  135. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  136. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +50 -42
  137. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +16 -12
  138. data/doc/classes/TaskJuggler/TextScanner.html +334 -240
  139. data/doc/classes/TaskJuggler/TjException.html +6 -6
  140. data/doc/classes/TaskJuggler/TjTime.html +547 -497
  141. data/doc/classes/TaskJuggler/TjpExample.html +29 -25
  142. data/doc/classes/TaskJuggler/TjpExportRE.html +77 -97
  143. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +3911 -3886
  144. data/doc/classes/TaskJuggler/UserManual.html +54 -54
  145. data/doc/classes/TaskJuggler/WorkingHours.html +53 -49
  146. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -85
  147. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  148. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  149. data/doc/classes/TaskJuggler/XMLDocument.html +28 -24
  150. data/doc/classes/TaskJuggler/XMLElement.html +70 -58
  151. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  152. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  153. data/doc/classes/TaskJuggler.html +266 -183
  154. data/doc/files/COPYING.html +1 -1
  155. data/doc/files/README.html +1 -1
  156. data/doc/files/lib/AccountScenario_rb.html +1 -1
  157. data/doc/files/lib/Account_rb.html +1 -1
  158. data/doc/files/lib/Allocation_rb.html +1 -1
  159. data/doc/files/lib/AppConfig_rb.html +1 -1
  160. data/doc/files/lib/AttributeBase_rb.html +11 -1
  161. data/doc/files/lib/AttributeDefinition_rb.html +1 -1
  162. data/doc/files/lib/Attributes_rb.html +1 -1
  163. data/doc/files/lib/{LogicalFlag_rb.html → BatchProcessor_rb.html} +8 -6
  164. data/doc/files/lib/Booking_rb.html +1 -1
  165. data/doc/files/lib/ChargeSet_rb.html +1 -1
  166. data/doc/files/lib/Charge_rb.html +1 -1
  167. data/doc/files/lib/HTMLDocument_rb.html +1 -1
  168. data/doc/files/lib/Interval_rb.html +1 -1
  169. data/doc/files/lib/Journal_rb.html +106 -0
  170. data/doc/files/lib/KeywordArray_rb.html +106 -0
  171. data/doc/files/lib/KeywordDocumentation_rb.html +1 -1
  172. data/doc/files/lib/Limits_rb.html +1 -1
  173. data/doc/files/lib/Log_rb.html +1 -1
  174. data/doc/files/lib/LogicalExpression_rb.html +1 -3
  175. data/doc/files/lib/LogicalFunction_rb.html +1 -1
  176. data/doc/files/lib/LogicalOperation_rb.html +1 -1
  177. data/doc/files/lib/MacroParser_rb.html +1 -1
  178. data/doc/files/lib/MacroTable_rb.html +1 -1
  179. data/doc/files/lib/MessageHandler_rb.html +1 -1
  180. data/doc/files/lib/Message_rb.html +1 -1
  181. data/doc/files/lib/ProjectFileParser_rb.html +5 -1
  182. data/doc/files/lib/Project_rb.html +5 -1
  183. data/doc/files/lib/PropertyList_rb.html +1 -1
  184. data/doc/files/lib/PropertySet_rb.html +1 -1
  185. data/doc/files/lib/PropertyTreeNode_rb.html +1 -1
  186. data/doc/files/lib/Query_rb.html +1 -1
  187. data/doc/files/lib/RTPNavigator_rb.html +120 -0
  188. data/doc/files/lib/RTPReport_rb.html +118 -0
  189. data/doc/files/lib/RealFormat_rb.html +1 -1
  190. data/doc/files/lib/ResourceScenario_rb.html +1 -1
  191. data/doc/files/lib/Resource_rb.html +1 -1
  192. data/doc/files/lib/RichTextDocument_rb.html +1 -1
  193. data/doc/files/lib/RichTextElement_rb.html +1 -1
  194. data/doc/files/lib/RichTextParser_rb.html +1 -1
  195. data/doc/files/lib/RichTextProtocolExample_rb.html +1 -1
  196. data/doc/files/lib/RichTextProtocolHandler_rb.html +1 -1
  197. data/doc/files/lib/RichTextScanner_rb.html +1 -1
  198. data/doc/files/lib/RichTextSnip_rb.html +1 -1
  199. data/doc/files/lib/RichTextSyntaxRules_rb.html +1 -1
  200. data/doc/files/lib/RichText_rb.html +1 -1
  201. data/doc/files/lib/ScenarioData_rb.html +1 -1
  202. data/doc/files/lib/Scenario_rb.html +1 -1
  203. data/doc/files/lib/Scoreboard_rb.html +1 -1
  204. data/doc/files/lib/ShiftAssignments_rb.html +1 -1
  205. data/doc/files/lib/ShiftScenario_rb.html +1 -1
  206. data/doc/files/lib/Shift_rb.html +1 -1
  207. data/doc/files/lib/SourceFileInfo_rb.html +1 -1
  208. data/doc/files/lib/SyntaxReference_rb.html +1 -1
  209. data/doc/files/lib/TOCEntry_rb.html +1 -1
  210. data/doc/files/lib/TableColumnDefinition_rb.html +1 -1
  211. data/doc/files/lib/TableOfContents_rb.html +1 -1
  212. data/doc/files/lib/TaskDependency_rb.html +1 -1
  213. data/doc/files/lib/TaskJuggler_rb.html +1 -1
  214. data/doc/files/lib/TaskScenario_rb.html +1 -1
  215. data/doc/files/lib/Task_rb.html +1 -1
  216. data/doc/files/lib/TextParser/Pattern_rb.html +1 -1
  217. data/doc/files/lib/TextParser/Rule_rb.html +1 -1
  218. data/doc/files/lib/TextParser/StackElement_rb.html +1 -1
  219. data/doc/files/lib/TextParser/TokenDoc_rb.html +1 -1
  220. data/doc/files/lib/TextParser_rb.html +1 -1
  221. data/doc/files/lib/TextScanner_rb.html +1 -1
  222. data/doc/files/lib/Tj3Config_rb.html +1 -1
  223. data/doc/files/lib/TjException_rb.html +1 -1
  224. data/doc/files/lib/TjTime_rb.html +1 -1
  225. data/doc/files/lib/TjpExample_rb.html +1 -1
  226. data/doc/files/lib/TjpSyntaxRules_rb.html +1 -1
  227. data/doc/files/lib/UTF8String_rb.html +1 -1
  228. data/doc/files/lib/UserManual_rb.html +1 -1
  229. data/doc/files/lib/WorkingHours_rb.html +1 -1
  230. data/doc/files/lib/XMLDocument_rb.html +1 -1
  231. data/doc/files/lib/XMLElement_rb.html +1 -1
  232. data/doc/files/lib/deep_copy_rb.html +106 -0
  233. data/doc/files/lib/ms_test_rb.html +90 -0
  234. data/doc/files/lib/reports/CSVFile_rb.html +1 -1
  235. data/doc/files/lib/reports/ColumnTable_rb.html +1 -1
  236. data/doc/files/lib/reports/GanttChart_rb.html +1 -1
  237. data/doc/files/lib/reports/GanttContainer_rb.html +1 -1
  238. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  239. data/doc/files/lib/reports/GanttHeader_rb.html +1 -1
  240. data/doc/files/lib/reports/GanttLine_rb.html +1 -1
  241. data/doc/files/lib/reports/GanttLoadStack_rb.html +1 -1
  242. data/doc/files/lib/reports/GanttMilestone_rb.html +1 -1
  243. data/doc/files/lib/reports/GanttRouter_rb.html +1 -1
  244. data/doc/files/lib/reports/GanttTaskBar_rb.html +1 -1
  245. data/doc/files/lib/reports/HTMLGraphics_rb.html +1 -1
  246. data/doc/files/lib/reports/{ReportElement_rb.html → Navigator_rb.html} +6 -8
  247. data/doc/files/lib/reports/ReportBase_rb.html +106 -0
  248. data/doc/files/lib/reports/ReportContext_rb.html +106 -0
  249. data/doc/files/lib/reports/ReportTableCell_rb.html +1 -1
  250. data/doc/files/lib/reports/ReportTableColumn_rb.html +1 -1
  251. data/doc/files/lib/reports/ReportTableLegend_rb.html +1 -1
  252. data/doc/files/lib/reports/ReportTableLine_rb.html +1 -1
  253. data/doc/files/lib/reports/ReportTable_rb.html +1 -1
  254. data/doc/files/lib/reports/Report_rb.html +8 -2
  255. data/doc/files/lib/reports/ResourceListRE_rb.html +2 -2
  256. data/doc/files/lib/reports/{ReportTableElement_rb.html → TableReport_rb.html} +7 -5
  257. data/doc/files/lib/reports/TaskListRE_rb.html +2 -2
  258. data/doc/files/lib/reports/TextReport_rb.html +116 -0
  259. data/doc/files/lib/reports/TjpExportRE_rb.html +2 -2
  260. data/doc/files/lib/taskjuggler3_rb.html +61 -56
  261. data/doc/files/lib/tj3man_rb.html +1 -1
  262. data/doc/fr_class_index.html +41 -3
  263. data/doc/fr_file_index.html +21 -5
  264. data/doc/fr_method_index.html +1069 -959
  265. data/examples/ContactList.html +1467 -0
  266. data/examples/Deliveries.html +485 -0
  267. data/examples/Development.html +2525 -0
  268. data/examples/Overview.html +747 -0
  269. data/examples/Resource Graph.html +616 -0
  270. data/examples/tutorial.tjp +63 -67
  271. data/lib/AttributeBase.rb +27 -31
  272. data/lib/AttributeDefinition.rb +12 -7
  273. data/lib/Attributes.rb +134 -34
  274. data/lib/Interval.rb +2 -0
  275. data/lib/Journal.rb +44 -0
  276. data/lib/{LogicalFlag.rb → KeywordArray.rb} +5 -13
  277. data/lib/KeywordDocumentation.rb +84 -47
  278. data/lib/Limits.rb +7 -5
  279. data/lib/LogicalExpression.rb +1 -1
  280. data/lib/LogicalOperation.rb +33 -0
  281. data/lib/Project.rb +313 -99
  282. data/lib/ProjectFileParser.rb +88 -11
  283. data/lib/PropertyList.rb +2 -1
  284. data/lib/PropertySet.rb +13 -4
  285. data/lib/PropertyTreeNode.rb +34 -15
  286. data/lib/Query.rb +2 -1
  287. data/lib/RTPNavigator.rb +53 -0
  288. data/lib/RTPReport.rb +62 -0
  289. data/lib/RealFormat.rb +28 -10
  290. data/lib/RichTextElement.rb +18 -12
  291. data/lib/RichTextParser.rb +1 -0
  292. data/lib/RichTextProtocolExample.rb +8 -11
  293. data/lib/RichTextProtocolHandler.rb +11 -1
  294. data/lib/RichTextScanner.rb +308 -164
  295. data/lib/RichTextSyntaxRules.rb +24 -0
  296. data/lib/TableColumnDefinition.rb +5 -1
  297. data/lib/TaskJuggler.rb +3 -2
  298. data/lib/TaskScenario.rb +123 -31
  299. data/lib/TextParser.rb +14 -3
  300. data/lib/TextScanner.rb +210 -34
  301. data/lib/Tj3Config.rb +1 -1
  302. data/lib/TjTime.rb +15 -0
  303. data/lib/TjpExample.rb +1 -1
  304. data/lib/TjpSyntaxRules.rb +674 -473
  305. data/lib/WorkingHours.rb +1 -1
  306. data/lib/XMLElement.rb +11 -3
  307. data/lib/deep_copy.rb +72 -0
  308. data/lib/ms_test.rb +27 -0
  309. data/lib/reports/ColumnTable.rb +7 -5
  310. data/lib/reports/GanttChart.rb +60 -34
  311. data/lib/reports/GanttHeader.rb +1 -1
  312. data/lib/reports/GanttRouter.rb +7 -5
  313. data/lib/reports/Navigator.rb +72 -0
  314. data/lib/reports/Report.rb +58 -73
  315. data/lib/reports/ReportBase.rb +241 -0
  316. data/lib/reports/ReportContext.rb +41 -0
  317. data/lib/reports/ReportTable.rb +7 -2
  318. data/lib/reports/ReportTableCell.rb +3 -3
  319. data/lib/reports/ResourceListRE.rb +19 -26
  320. data/lib/reports/{ReportTableElement.rb → TableReport.rb} +297 -97
  321. data/lib/reports/TaskListRE.rb +16 -24
  322. data/lib/reports/TextReport.rb +87 -0
  323. data/lib/reports/TjpExportRE.rb +55 -50
  324. data/lib/taskjuggler3.rb +6 -1
  325. data/manual/Getting_Started +57 -6
  326. data/manual/How_To_Contribute +2 -4
  327. data/manual/Intro +2 -2
  328. data/manual/Reporting_Bugs +9 -2
  329. data/manual/Rich_Text_Attributes +41 -0
  330. data/manual/Tutorial +219 -173
  331. data/tasks/test.rake +3 -0
  332. data/test/TestSuite/CSV-Reports/celltext.tjp +2 -1
  333. data/test/TestSuite/CSV-Reports/resourcereport.tjp +2 -1
  334. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +2 -1
  335. data/test/TestSuite/CSV-Reports/sortByTree.tjp +2 -1
  336. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +2 -1
  337. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +2 -1
  338. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +2 -1
  339. data/test/TestSuite/CSV-Reports/taskreport.tjp +2 -1
  340. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +2 -1
  341. data/test/TestSuite/HTML-Reports/depArrows.tjp +72 -0
  342. data/test/TestSuite/HTML-Reports/reference-export.html +187 -0
  343. data/test/TestSuite/HTML-Reports/reference.tjp +21 -0
  344. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -1
  345. data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +3 -3
  346. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  347. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +37 -0
  348. data/test/TestSuite/Scheduler/Correct/Container.tjp +40 -0
  349. data/test/TestSuite/Scheduler/Correct/Depends.tjp +9 -14
  350. data/test/TestSuite/Scheduler/Correct/Duration.tjp +2 -1
  351. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +20 -29
  352. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -13
  353. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +6 -5
  354. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +10 -6
  355. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +9 -6
  356. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +9 -6
  357. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +13 -10
  358. data/test/TestSuite/Scheduler/Correct/Precedes.tjp +9 -14
  359. data/test/TestSuite/Scheduler/Correct/Shift.tjp +9 -8
  360. data/test/TestSuite/Scheduler/Correct/checks.tji +4 -0
  361. data/test/TestSuite/Scheduler/Errors/weak_end_dep.tjp +16 -0
  362. data/test/TestSuite/Scheduler/Errors/weak_start_dep.tjp +16 -0
  363. data/test/TestSuite/Syntax/Correct/Account.tjp +1 -1
  364. data/test/TestSuite/Syntax/Correct/AutoID.tjp +21 -0
  365. data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +2 -1
  366. data/test/TestSuite/Syntax/Correct/Caption.tjp +7 -6
  367. data/test/TestSuite/Syntax/Correct/Celltext.tjp +7 -4
  368. data/test/TestSuite/Syntax/Correct/Comments.tjp +1 -1
  369. data/test/TestSuite/Syntax/Correct/CompletedWork.tji +11 -19
  370. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +4 -3
  371. data/test/TestSuite/Syntax/Correct/Export.tjp +3 -1
  372. data/test/TestSuite/Syntax/Correct/Flags.tjp +2 -1
  373. data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +2 -1
  374. data/test/TestSuite/Syntax/Correct/Journal.tjp +18 -0
  375. data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +2 -1
  376. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +16 -0
  377. data/test/TestSuite/Syntax/Correct/Period.tjp +2 -1
  378. data/test/TestSuite/Syntax/Correct/RawHTML.tjp +4 -2
  379. data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -2
  380. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tji +2 -0
  381. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tjp +23 -0
  382. data/test/TestSuite/Syntax/Correct/Responsible.tjp +1 -1
  383. data/test/TestSuite/Syntax/Correct/Simple.tjp +1 -1
  384. data/test/TestSuite/Syntax/Correct/String.tjp +1 -1
  385. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +2 -1
  386. data/test/TestSuite/Syntax/Correct/tutorial.tjp +92 -70
  387. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +7 -0
  388. data/test/TestSuite/Syntax/Errors/bad_include.tjp +1 -1
  389. data/test/TestSuite/Syntax/Errors/bad_time_zone.tjp +6 -0
  390. data/test/TestSuite/Syntax/Errors/bad_timing_res.tjp +5 -0
  391. data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +1 -1
  392. data/test/TestSuite/Syntax/Errors/container_attribute.tjp +1 -1
  393. data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +3 -2
  394. data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +1 -1
  395. data/test/TestSuite/Syntax/Errors/eof_in_istring1.tjp +5 -0
  396. data/test/TestSuite/Syntax/Errors/eof_in_istring2.tjp +5 -0
  397. data/test/TestSuite/Syntax/Errors/eof_in_istring3.tjp +6 -0
  398. data/test/TestSuite/Syntax/Errors/eof_in_istring4.tjp +6 -0
  399. data/test/TestSuite/Syntax/Errors/eof_in_istring5.tjp +6 -0
  400. data/test/TestSuite/Syntax/Errors/include_recursion.tji +1 -0
  401. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +7 -0
  402. data/test/TestSuite/Syntax/Errors/junk_after_cut.tjp +6 -0
  403. data/test/TestSuite/Syntax/Errors/navigator_exists.tjp +10 -0
  404. data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +1 -1
  405. data/test/TestSuite/Syntax/Errors/report_end.tjp +1 -1
  406. data/test/TestSuite/Syntax/Errors/report_exists.tjp +10 -0
  407. data/test/TestSuite/Syntax/Errors/report_start.tjp +1 -1
  408. data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +1 -1
  409. data/test/TestSuite/Syntax/Errors/sort_direction.tjp +1 -1
  410. data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +1 -1
  411. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +1 -1
  412. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +1 -1
  413. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +1 -1
  414. data/test/TestSuite/Syntax/Errors/too_large_timing_res.tjp +7 -0
  415. data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +1 -1
  416. data/test/TestSuite/Syntax/Errors/unknown_task.tjp +1 -1
  417. data/test/all.rb +1 -16
  418. data/test/test_CSV-Reports.rb +8 -5
  419. data/test/test_Query.rb +2 -2
  420. data/test/test_RichText.rb +95 -0
  421. data/test/test_Scheduler.rb +8 -4
  422. data/test/test_Syntax.rb +8 -4
  423. data/test/test_deep_copy.rb +83 -0
  424. metadata +549 -487
  425. data/benchmarks/UTF-8-Strings.rb +0 -58
  426. data/doc/classes/TaskJuggler/ReportElement.html +0 -1070
  427. data/doc/classes/TaskJuggler/ReportTableElement.html +0 -644
  428. data/lib/reports/ReportElement.rb +0 -427
  429. data/test/TestSuite/Syntax/Correct/csvtest +0 -16
  430. data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +0 -10
  431. data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +0 -10
  432. data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +0 -10
@@ -70,8 +70,12 @@
70
70
  <td><strong>Parent:</strong></td>
71
71
  <td>
72
72
 
73
+ <a href="../Object.html">
74
+
73
75
  Object
74
76
 
77
+ </a>
78
+
75
79
  </td>
76
80
  </tr>
77
81
 
@@ -96,8 +100,8 @@ The class can track wheter the attribute value was provided by the project
96
100
  file, inherited from another property or computed during scheduling.
97
101
  </p>
98
102
  <p>
99
- Attributes that are of an inheritable type will be copied from a parent
100
- property.
103
+ Attributes that are of an inherited type will be copied from a parent
104
+ property or the global scope.
101
105
  </p>
102
106
 
103
107
  </div>
@@ -110,25 +114,25 @@ property.
110
114
 
111
115
  <div class="name-list">
112
116
 
113
- <a href="#M000909">get</a>&nbsp;&nbsp;
117
+ <a href="#M000419">get</a>&nbsp;&nbsp;
114
118
 
115
- <a href="#M000906">id</a>&nbsp;&nbsp;
119
+ <a href="#M000416">id</a>&nbsp;&nbsp;
116
120
 
117
- <a href="#M000904">inherit</a>&nbsp;&nbsp;
121
+ <a href="#M000414">inherit</a>&nbsp;&nbsp;
118
122
 
119
- <a href="#M000907">name</a>&nbsp;&nbsp;
123
+ <a href="#M000417">name</a>&nbsp;&nbsp;
120
124
 
121
- <a href="#M000903">new</a>&nbsp;&nbsp;
125
+ <a href="#M000413">new</a>&nbsp;&nbsp;
122
126
 
123
- <a href="#M000910">nil?</a>&nbsp;&nbsp;
127
+ <a href="#M000420">nil?</a>&nbsp;&nbsp;
124
128
 
125
- <a href="#M000908">set</a>&nbsp;&nbsp;
129
+ <a href="#M000418">set</a>&nbsp;&nbsp;
126
130
 
127
- <a href="#M000905">setMode</a>&nbsp;&nbsp;
131
+ <a href="#M000415">setMode</a>&nbsp;&nbsp;
128
132
 
129
- <a href="#M000911">to_s</a>&nbsp;&nbsp;
133
+ <a href="#M000421">to_s</a>&nbsp;&nbsp;
130
134
 
131
- <a href="#M000912">to_tjp</a>&nbsp;&nbsp;
135
+ <a href="#M000422">to_tjp</a>&nbsp;&nbsp;
132
136
 
133
137
  </div>
134
138
  </div>
@@ -199,12 +203,12 @@ property.
199
203
  <h3 class="section-bar">Public Class methods</h3>
200
204
 
201
205
 
202
- <div id="method-M000903" class="method-detail">
203
- <a name="M000903"></a>
206
+ <div id="method-M000413" class="method-detail">
207
+ <a name="M000413"></a>
204
208
 
205
209
  <div class="method-heading">
206
210
 
207
- <a href="#M000903" class="method-signature">
211
+ <a href="#M000413" class="method-signature">
208
212
 
209
213
  <span class="method-name">new</span><span class="method-args">(property, type)</span>
210
214
 
@@ -222,30 +226,25 @@ attribute belongs to.
222
226
  </p>
223
227
 
224
228
  <p><a class="source-toggle" href="#"
225
- onclick="toggleCode('M000903-source');return false;">[Source]</a></p>
226
- <div class="method-source-code" id="M000903-source">
229
+ onclick="toggleCode('M000413-source');return false;">[Source]</a></p>
230
+ <div class="method-source-code" id="M000413-source">
227
231
  <pre>
228
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 32</span>
229
- 32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
230
- 33: <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type</span>
231
- 34: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">property</span>
232
- 35: <span class="ruby-comment cmt"># Flag that marks whether the value of this attribute was inherited from</span>
233
- 36: <span class="ruby-comment cmt"># the parent PropertyTreeNode.</span>
234
- 37: <span class="ruby-ivar">@inherited</span> = <span class="ruby-keyword kw">false</span>
235
- 38: <span class="ruby-comment cmt"># Flat that marks whether the value of this attribute was provided by the</span>
236
- 39: <span class="ruby-comment cmt"># user (in contrast to being calculated).</span>
237
- 40: <span class="ruby-ivar">@provided</span> = <span class="ruby-keyword kw">false</span>
238
- 41: <span class="ruby-comment cmt"># Some types can provide the default value as result of a initValue()</span>
239
- 42: <span class="ruby-comment cmt"># method. If that does not exists, the default value from the</span>
240
- 43: <span class="ruby-comment cmt"># AttributeDefinition.</span>
241
- 44: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'initValue'</span>)
242
- 45: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">initValue</span>(<span class="ruby-ivar">@type</span>.<span class="ruby-identifier">default</span>)
243
- 46: <span class="ruby-keyword kw">else</span>
244
- 47: <span class="ruby-ivar">@value</span> = <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">default</span>
245
- 48: <span class="ruby-keyword kw">end</span>
246
- 49: <span class="ruby-comment cmt"># The mode is flag that controls how value assignements affect the flags.</span>
247
- 50: <span class="ruby-ivar">@@mode</span> = <span class="ruby-value">0</span>
248
- 51: <span class="ruby-keyword kw">end</span>
232
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 34</span>
233
+ 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
234
+ 35: <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type</span>
235
+ 36: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">property</span>
236
+ 37: <span class="ruby-comment cmt"># Flag that marks whether the value of this attribute was inherited from</span>
237
+ 38: <span class="ruby-comment cmt"># the parent PropertyTreeNode.</span>
238
+ 39: <span class="ruby-ivar">@inherited</span> = <span class="ruby-keyword kw">false</span>
239
+ 40: <span class="ruby-comment cmt"># Flat that marks whether the value of this attribute was provided by the</span>
240
+ 41: <span class="ruby-comment cmt"># user (in contrast to being calculated).</span>
241
+ 42: <span class="ruby-ivar">@provided</span> = <span class="ruby-keyword kw">false</span>
242
+ 43: <span class="ruby-comment cmt"># Create the initial value according to the specified default for this</span>
243
+ 44: <span class="ruby-comment cmt"># type.</span>
244
+ 45: <span class="ruby-ivar">@value</span> = <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">default</span>.<span class="ruby-identifier">deep_clone</span>
245
+ 46: <span class="ruby-comment cmt"># The mode is flag that controls how value assignments affect the flags.</span>
246
+ 47: <span class="ruby-ivar">@@mode</span> = <span class="ruby-value">0</span>
247
+ 48: <span class="ruby-keyword kw">end</span>
249
248
  </pre>
250
249
  </div>
251
250
 
@@ -253,12 +252,12 @@ attribute belongs to.
253
252
  </div>
254
253
 
255
254
 
256
- <div id="method-M000905" class="method-detail">
257
- <a name="M000905"></a>
255
+ <div id="method-M000415" class="method-detail">
256
+ <a name="M000415"></a>
258
257
 
259
258
  <div class="method-heading">
260
259
 
261
- <a href="#M000905" class="method-signature">
260
+ <a href="#M000415" class="method-signature">
262
261
 
263
262
  <span class="method-name">setMode</span><span class="method-args">(mode)</span>
264
263
 
@@ -274,13 +273,13 @@ inherited, any other value means calculated.
274
273
  </p>
275
274
 
276
275
  <p><a class="source-toggle" href="#"
277
- onclick="toggleCode('M000905-source');return false;">[Source]</a></p>
278
- <div class="method-source-code" id="M000905-source">
276
+ onclick="toggleCode('M000415-source');return false;">[Source]</a></p>
277
+ <div class="method-source-code" id="M000415-source">
279
278
  <pre>
280
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 78</span>
281
- 78: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">setMode</span>(<span class="ruby-identifier">mode</span>)
282
- 79: <span class="ruby-ivar">@@mode</span> = <span class="ruby-identifier">mode</span>
283
- 80: <span class="ruby-keyword kw">end</span>
279
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 60</span>
280
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">setMode</span>(<span class="ruby-identifier">mode</span>)
281
+ 61: <span class="ruby-ivar">@@mode</span> = <span class="ruby-identifier">mode</span>
282
+ 62: <span class="ruby-keyword kw">end</span>
284
283
  </pre>
285
284
  </div>
286
285
 
@@ -291,12 +290,12 @@ inherited, any other value means calculated.
291
290
  <h3 class="section-bar">Public Instance methods</h3>
292
291
 
293
292
 
294
- <div id="method-M000909" class="method-detail">
295
- <a name="M000909"></a>
293
+ <div id="method-M000419" class="method-detail">
294
+ <a name="M000419"></a>
296
295
 
297
296
  <div class="method-heading">
298
297
 
299
- <a href="#M000909" class="method-signature">
298
+ <a href="#M000419" class="method-signature">
300
299
 
301
300
  <span class="method-name">get</span><span class="method-args">()</span>
302
301
 
@@ -311,13 +310,13 @@ Return the attribute value.
311
310
  </p>
312
311
 
313
312
  <p><a class="source-toggle" href="#"
314
- onclick="toggleCode('M000909-source');return false;">[Source]</a></p>
315
- <div class="method-source-code" id="M000909-source">
313
+ onclick="toggleCode('M000419-source');return false;">[Source]</a></p>
314
+ <div class="method-source-code" id="M000419-source">
316
315
  <pre>
317
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 105</span>
318
- 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>
319
- 106: <span class="ruby-ivar">@value</span>
320
- 107: <span class="ruby-keyword kw">end</span>
316
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 87</span>
317
+ 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>
318
+ 88: <span class="ruby-ivar">@value</span>
319
+ 89: <span class="ruby-keyword kw">end</span>
321
320
  </pre>
322
321
  </div>
323
322
 
@@ -325,12 +324,12 @@ Return the attribute value.
325
324
  </div>
326
325
 
327
326
 
328
- <div id="method-M000906" class="method-detail">
329
- <a name="M000906"></a>
327
+ <div id="method-M000416" class="method-detail">
328
+ <a name="M000416"></a>
330
329
 
331
330
  <div class="method-heading">
332
331
 
333
- <a href="#M000906" class="method-signature">
332
+ <a href="#M000416" class="method-signature">
334
333
 
335
334
  <span class="method-name">id</span><span class="method-args">()</span>
336
335
 
@@ -345,13 +344,13 @@ Return the ID of the attribute.
345
344
  </p>
346
345
 
347
346
  <p><a class="source-toggle" href="#"
348
- onclick="toggleCode('M000906-source');return false;">[Source]</a></p>
349
- <div class="method-source-code" id="M000906-source">
347
+ onclick="toggleCode('M000416-source');return false;">[Source]</a></p>
348
+ <div class="method-source-code" id="M000416-source">
350
349
  <pre>
351
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 83</span>
352
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">id</span>
353
- 84: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">id</span>
354
- 85: <span class="ruby-keyword kw">end</span>
350
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 65</span>
351
+ 65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">id</span>
352
+ 66: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">id</span>
353
+ 67: <span class="ruby-keyword kw">end</span>
355
354
  </pre>
356
355
  </div>
357
356
 
@@ -359,12 +358,12 @@ Return the ID of the attribute.
359
358
  </div>
360
359
 
361
360
 
362
- <div id="method-M000904" class="method-detail">
363
- <a name="M000904"></a>
361
+ <div id="method-M000414" class="method-detail">
362
+ <a name="M000414"></a>
364
363
 
365
364
  <div class="method-heading">
366
365
 
367
- <a href="#M000904" class="method-signature">
366
+ <a href="#M000414" class="method-signature">
368
367
 
369
368
  <span class="method-name">inherit</span><span class="method-args">(value)</span>
370
369
 
@@ -375,35 +374,20 @@ Return the ID of the attribute.
375
374
  <div class="method-description">
376
375
 
377
376
  <p>
378
- Call this function to inherit <em>value</em> from another property. It is
379
- very important that the values are deep copied as they may be modified
377
+ Call this function to inherit <em>value</em> from the parent property. It
378
+ is very important that the values are deep copied as they may be modified
380
379
  later on.
381
380
  </p>
382
381
 
383
382
  <p><a class="source-toggle" href="#"
384
- onclick="toggleCode('M000904-source');return false;">[Source]</a></p>
385
- <div class="method-source-code" id="M000904-source">
383
+ onclick="toggleCode('M000414-source');return false;">[Source]</a></p>
384
+ <div class="method-source-code" id="M000414-source">
386
385
  <pre>
387
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 56</span>
388
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">value</span>)
389
- 57: <span class="ruby-ivar">@inherited</span> = <span class="ruby-keyword kw">true</span>
390
- 58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>) <span class="ruby-operator">||</span>
391
- 59: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TrueClass</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">FalseClass</span>)
392
- 60: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>
393
- 61: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Limits</span>)
394
- 62: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">Limits</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>)
395
- 63: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">ShiftAssignments</span>)
396
- 64: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>)
397
- 65: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
398
- 66: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">clone</span>
399
- 67: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">WorkingHours</span>)
400
- 68: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">WorkingHours</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>)
401
- 69: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
402
- 70: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>)
403
- 71: <span class="ruby-keyword kw">else</span>
404
- 72: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Don't know how to copy values of class #{value.class}&quot;</span>
405
- 73: <span class="ruby-keyword kw">end</span>
406
- 74: <span class="ruby-keyword kw">end</span>
386
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 53</span>
387
+ 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">value</span>)
388
+ 54: <span class="ruby-ivar">@inherited</span> = <span class="ruby-keyword kw">true</span>
389
+ 55: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">deep_clone</span>
390
+ 56: <span class="ruby-keyword kw">end</span>
407
391
  </pre>
408
392
  </div>
409
393
 
@@ -411,12 +395,12 @@ later on.
411
395
  </div>
412
396
 
413
397
 
414
- <div id="method-M000907" class="method-detail">
415
- <a name="M000907"></a>
398
+ <div id="method-M000417" class="method-detail">
399
+ <a name="M000417"></a>
416
400
 
417
401
  <div class="method-heading">
418
402
 
419
- <a href="#M000907" class="method-signature">
403
+ <a href="#M000417" class="method-signature">
420
404
 
421
405
  <span class="method-name">name</span><span class="method-args">()</span>
422
406
 
@@ -431,13 +415,13 @@ Return the name of the attribute.
431
415
  </p>
432
416
 
433
417
  <p><a class="source-toggle" href="#"
434
- onclick="toggleCode('M000907-source');return false;">[Source]</a></p>
435
- <div class="method-source-code" id="M000907-source">
418
+ onclick="toggleCode('M000417-source');return false;">[Source]</a></p>
419
+ <div class="method-source-code" id="M000417-source">
436
420
  <pre>
437
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 88</span>
438
- 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
439
- 89: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">name</span>
440
- 90: <span class="ruby-keyword kw">end</span>
421
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 70</span>
422
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
423
+ 71: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">name</span>
424
+ 72: <span class="ruby-keyword kw">end</span>
441
425
  </pre>
442
426
  </div>
443
427
 
@@ -445,12 +429,12 @@ Return the name of the attribute.
445
429
  </div>
446
430
 
447
431
 
448
- <div id="method-M000910" class="method-detail">
449
- <a name="M000910"></a>
432
+ <div id="method-M000420" class="method-detail">
433
+ <a name="M000420"></a>
450
434
 
451
435
  <div class="method-heading">
452
436
 
453
- <a href="#M000910" class="method-signature">
437
+ <a href="#M000420" class="method-signature">
454
438
 
455
439
  <span class="method-name">nil?</span><span class="method-args">()</span>
456
440
 
@@ -465,17 +449,17 @@ Check whether the value is uninitialized or nil.
465
449
  </p>
466
450
 
467
451
  <p><a class="source-toggle" href="#"
468
- onclick="toggleCode('M000910-source');return false;">[Source]</a></p>
469
- <div class="method-source-code" id="M000910-source">
452
+ onclick="toggleCode('M000420-source');return false;">[Source]</a></p>
453
+ <div class="method-source-code" id="M000420-source">
470
454
  <pre>
471
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 110</span>
472
- 110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nil?</span>
473
- 111: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
474
- 112: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">empty?</span>
475
- 113: <span class="ruby-keyword kw">else</span>
476
- 114: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">nil?</span>
477
- 115: <span class="ruby-keyword kw">end</span>
478
- 116: <span class="ruby-keyword kw">end</span>
455
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 92</span>
456
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nil?</span>
457
+ 93: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
458
+ 94: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">empty?</span>
459
+ 95: <span class="ruby-keyword kw">else</span>
460
+ 96: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">nil?</span>
461
+ 97: <span class="ruby-keyword kw">end</span>
462
+ 98: <span class="ruby-keyword kw">end</span>
479
463
  </pre>
480
464
  </div>
481
465
 
@@ -483,12 +467,12 @@ Check whether the value is uninitialized or nil.
483
467
  </div>
484
468
 
485
469
 
486
- <div id="method-M000908" class="method-detail">
487
- <a name="M000908"></a>
470
+ <div id="method-M000418" class="method-detail">
471
+ <a name="M000418"></a>
488
472
 
489
473
  <div class="method-heading">
490
474
 
491
- <a href="#M000908" class="method-signature">
475
+ <a href="#M000418" class="method-signature">
492
476
 
493
477
  <span class="method-name">set</span><span class="method-args">(value)</span>
494
478
 
@@ -504,19 +488,19 @@ are updated accordingly.
504
488
  </p>
505
489
 
506
490
  <p><a class="source-toggle" href="#"
507
- onclick="toggleCode('M000908-source');return false;">[Source]</a></p>
508
- <div class="method-source-code" id="M000908-source">
491
+ onclick="toggleCode('M000418-source');return false;">[Source]</a></p>
492
+ <div class="method-source-code" id="M000418-source">
509
493
  <pre>
510
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 94</span>
511
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
512
- 95: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>
513
- 96: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@@mode</span>
514
- 97: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
515
- 98: <span class="ruby-ivar">@provided</span> = <span class="ruby-keyword kw">true</span>
516
- 99: <span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span>
517
- 100: <span class="ruby-ivar">@inherited</span> = <span class="ruby-keyword kw">true</span>
518
- 101: <span class="ruby-keyword kw">end</span>
519
- 102: <span class="ruby-keyword kw">end</span>
494
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 76</span>
495
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
496
+ 77: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>
497
+ 78: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@@mode</span>
498
+ 79: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
499
+ 80: <span class="ruby-ivar">@provided</span> = <span class="ruby-keyword kw">true</span>
500
+ 81: <span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span>
501
+ 82: <span class="ruby-ivar">@inherited</span> = <span class="ruby-keyword kw">true</span>
502
+ 83: <span class="ruby-keyword kw">end</span>
503
+ 84: <span class="ruby-keyword kw">end</span>
520
504
  </pre>
521
505
  </div>
522
506
 
@@ -524,12 +508,12 @@ are updated accordingly.
524
508
  </div>
525
509
 
526
510
 
527
- <div id="method-M000911" class="method-detail">
528
- <a name="M000911"></a>
511
+ <div id="method-M000421" class="method-detail">
512
+ <a name="M000421"></a>
529
513
 
530
514
  <div class="method-heading">
531
515
 
532
- <a href="#M000911" class="method-signature">
516
+ <a href="#M000421" class="method-signature">
533
517
 
534
518
  <span class="method-name">to_s</span><span class="method-args">()</span>
535
519
 
@@ -544,13 +528,13 @@ Return the value as <a href="../String.html">String</a>.
544
528
  </p>
545
529
 
546
530
  <p><a class="source-toggle" href="#"
547
- onclick="toggleCode('M000911-source');return false;">[Source]</a></p>
548
- <div class="method-source-code" id="M000911-source">
531
+ onclick="toggleCode('M000421-source');return false;">[Source]</a></p>
532
+ <div class="method-source-code" id="M000421-source">
549
533
  <pre>
550
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 119</span>
551
- 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
552
- 120: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">to_s</span>
553
- 121: <span class="ruby-keyword kw">end</span>
534
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 101</span>
535
+ 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
536
+ 102: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">to_s</span>
537
+ 103: <span class="ruby-keyword kw">end</span>
554
538
  </pre>
555
539
  </div>
556
540
 
@@ -558,12 +542,12 @@ Return the value as <a href="../String.html">String</a>.
558
542
  </div>
559
543
 
560
544
 
561
- <div id="method-M000912" class="method-detail">
562
- <a name="M000912"></a>
545
+ <div id="method-M000422" class="method-detail">
546
+ <a name="M000422"></a>
563
547
 
564
548
  <div class="method-heading">
565
549
 
566
- <a href="#M000912" class="method-signature">
550
+ <a href="#M000422" class="method-signature">
567
551
 
568
552
  <span class="method-name">to_tjp</span><span class="method-args">()</span>
569
553
 
@@ -578,13 +562,13 @@ Return the value in TJP file syntax.
578
562
  </p>
579
563
 
580
564
  <p><a class="source-toggle" href="#"
581
- onclick="toggleCode('M000912-source');return false;">[Source]</a></p>
582
- <div class="method-source-code" id="M000912-source">
565
+ onclick="toggleCode('M000422-source');return false;">[Source]</a></p>
566
+ <div class="method-source-code" id="M000422-source">
583
567
  <pre>
584
- <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 124</span>
585
- 124: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
586
- 125: <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">to_s</span>
587
- 126: <span class="ruby-keyword kw">end</span>
568
+ <span class="ruby-comment cmt"># File lib/AttributeBase.rb, line 106</span>
569
+ 106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
570
+ 107: <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">to_s</span>
571
+ 108: <span class="ruby-keyword kw">end</span>
588
572
  </pre>
589
573
  </div>
590
574
 
@@ -70,8 +70,12 @@
70
70
  <td><strong>Parent:</strong></td>
71
71
  <td>
72
72
 
73
+ <a href="../Object.html">
74
+
73
75
  Object
74
76
 
77
+ </a>
78
+
75
79
  </td>
76
80
  </tr>
77
81
 
@@ -105,7 +109,7 @@ node.
105
109
 
106
110
  <div class="name-list">
107
111
 
108
- <a href="#M000495">new</a>&nbsp;&nbsp;
112
+ <a href="#M000767">new</a>&nbsp;&nbsp;
109
113
 
110
114
  </div>
111
115
  </div>
@@ -141,7 +145,15 @@ node.
141
145
  </tr>
142
146
 
143
147
  <tr class="top-aligned-row context-row">
144
- <td class="context-item-name">inheritable</td>
148
+ <td class="context-item-name">inheritedFromParent</td>
149
+
150
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
151
+
152
+ <td class="context-item-desc"></td>
153
+ </tr>
154
+
155
+ <tr class="top-aligned-row context-row">
156
+ <td class="context-item-name">inheritedFromProject</td>
145
157
 
146
158
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
147
159
 
@@ -192,14 +204,14 @@ node.
192
204
  <h3 class="section-bar">Public Class methods</h3>
193
205
 
194
206
 
195
- <div id="method-M000495" class="method-detail">
196
- <a name="M000495"></a>
207
+ <div id="method-M000767" class="method-detail">
208
+ <a name="M000767"></a>
197
209
 
198
210
  <div class="method-heading">
199
211
 
200
- <a href="#M000495" class="method-signature">
212
+ <a href="#M000767" class="method-signature">
201
213
 
202
- <span class="method-name">new</span><span class="method-args">(id, name, objClass, inheritable, scenarioSpecific, default, userDefined = false)</span>
214
+ <span class="method-name">new</span><span class="method-args">(id, name, objClass, inheritedFromParent, inheritedFromProject, scenarioSpecific, default, userDefined = false)</span>
203
215
 
204
216
  </a>
205
217
 
@@ -214,28 +226,33 @@ href="PropertySet.html">PropertySet</a> where it is used. <em>name</em> is
214
226
  a more descriptive text that will be used in report columns and the like.
215
227
  <em>objClass</em> is a reference to the class (not the object itself) of
216
228
  the attribute. The possible classes all have names ending in Attribute.
217
- <em>inheritable</em> is a boolean flag that needs to be true if the node
218
- can inherit the setting from the attribute of the parent node.
229
+ <em>inheritedFromParent</em> is a boolean flag that needs to be true if the
230
+ node can inherit the setting from the attribute of the parent node.
231
+ <em>inheritedFromProject</em> is a boolen flag that needs to be true if the
232
+ node can inherit the setting from an attribute in the global scope.
219
233
  <em>scenarioSpecific</em> is a boolean flag that is set to true if the
220
234
  attribute can have different values for each scenario. <em>default</em> is
221
235
  the default value that is set upon creation of the attribute.
222
236
  </p>
223
237
 
224
238
  <p><a class="source-toggle" href="#"
225
- onclick="toggleCode('M000495-source');return false;">[Source]</a></p>
226
- <div class="method-source-code" id="M000495-source">
239
+ onclick="toggleCode('M000767-source');return false;">[Source]</a></p>
240
+ <div class="method-source-code" id="M000767-source">
227
241
  <pre>
228
- <span class="ruby-comment cmt"># File lib/AttributeDefinition.rb, line 33</span>
229
- 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">objClass</span>, <span class="ruby-identifier">inheritable</span>, <span class="ruby-identifier">scenarioSpecific</span>, <span class="ruby-identifier">default</span>,
230
- 34: <span class="ruby-identifier">userDefined</span> = <span class="ruby-keyword kw">false</span>)
231
- 35: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
232
- 36: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
233
- 37: <span class="ruby-ivar">@objClass</span> = <span class="ruby-identifier">objClass</span>
234
- 38: <span class="ruby-ivar">@inheritable</span> = <span class="ruby-identifier">inheritable</span>
235
- 39: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-identifier">scenarioSpecific</span>
236
- 40: <span class="ruby-ivar">@default</span> = <span class="ruby-identifier">default</span>
237
- 41: <span class="ruby-ivar">@userDefined</span> = <span class="ruby-identifier">userDefined</span>
238
- 42: <span class="ruby-keyword kw">end</span>
242
+ <span class="ruby-comment cmt"># File lib/AttributeDefinition.rb, line 35</span>
243
+ 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">objClass</span>, <span class="ruby-identifier">inheritedFromParent</span>, <span class="ruby-identifier">inheritedFromProject</span>,
244
+ 36: <span class="ruby-identifier">scenarioSpecific</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">userDefined</span> = <span class="ruby-keyword kw">false</span>)
245
+ 37: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
246
+ 38: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
247
+ 39: <span class="ruby-ivar">@objClass</span> = <span class="ruby-identifier">objClass</span>
248
+ 40: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">inheritedFromParent</span>
249
+ 41: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">inheritedFromProject</span>
250
+ 42: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-identifier">scenarioSpecific</span>
251
+ 43: <span class="ruby-ivar">@default</span> = <span class="ruby-identifier">default</span>
252
+ 44: <span class="ruby-ivar">@userDefined</span> = <span class="ruby-identifier">userDefined</span>
253
+ 45: <span class="ruby-comment cmt"># Prevent objects from being deep copied.</span>
254
+ 46: <span class="ruby-identifier">freeze</span>
255
+ 47: <span class="ruby-keyword kw">end</span>
239
256
  </pre>
240
257
  </div>
241
258