taskjuggler 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (544) hide show
  1. data/CHANGELOG +2086 -0
  2. data/benchmarks/666tasks.tjp +3183 -0
  3. data/benchmarks/booking.tjp +14 -10
  4. data/doc/AppConfig.html +95 -73
  5. data/doc/Arguments.html +22 -2
  6. data/doc/CHANGELOG.html +2587 -0
  7. data/doc/COPYING.html +21 -1
  8. data/doc/Object.html +161 -122
  9. data/doc/README.html +21 -1
  10. data/doc/RuntimeConfig.html +26 -6
  11. data/doc/String.html +38 -18
  12. data/doc/StringIO.html +579 -0
  13. data/doc/TaskJuggler.html +251 -143
  14. data/doc/TaskJuggler/Account.html +26 -6
  15. data/doc/TaskJuggler/AccountAttribute.html +28 -8
  16. data/doc/TaskJuggler/AccountScenario.html +24 -4
  17. data/doc/TaskJuggler/Allocation.html +30 -10
  18. data/doc/TaskJuggler/AllocationAttribute.html +28 -8
  19. data/doc/TaskJuggler/AttributeBase.html +46 -26
  20. data/doc/TaskJuggler/AttributeDefinition.html +22 -2
  21. data/doc/TaskJuggler/BatchProcessor.html +40 -20
  22. data/doc/TaskJuggler/Booking.html +26 -6
  23. data/doc/TaskJuggler/BookingListAttribute.html +28 -8
  24. data/doc/TaskJuggler/BooleanAttribute.html +28 -8
  25. data/doc/TaskJuggler/CSVFile.html +308 -146
  26. data/doc/TaskJuggler/CellSettingPattern.html +22 -2
  27. data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
  28. data/doc/TaskJuggler/Charge.html +26 -6
  29. data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
  30. data/doc/TaskJuggler/ChargeSet.html +33 -13
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
  32. data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
  33. data/doc/TaskJuggler/ColumnTable.html +24 -4
  34. data/doc/TaskJuggler/Daemon.html +26 -6
  35. data/doc/TaskJuggler/DateAttribute.html +26 -6
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
  37. data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
  38. data/doc/TaskJuggler/DurationAttribute.html +28 -8
  39. data/doc/TaskJuggler/FixnumAttribute.html +24 -4
  40. data/doc/TaskJuggler/FlagListAttribute.html +28 -8
  41. data/doc/TaskJuggler/FloatAttribute.html +26 -6
  42. data/doc/TaskJuggler/FormatListAttribute.html +24 -4
  43. data/doc/TaskJuggler/GanttChart.html +147 -126
  44. data/doc/TaskJuggler/GanttContainer.html +34 -14
  45. data/doc/TaskJuggler/GanttHeader.html +28 -8
  46. data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
  47. data/doc/TaskJuggler/GanttLine.html +38 -18
  48. data/doc/TaskJuggler/GanttLoadStack.html +26 -6
  49. data/doc/TaskJuggler/GanttMilestone.html +34 -14
  50. data/doc/TaskJuggler/GanttRouter.html +50 -30
  51. data/doc/TaskJuggler/GanttTaskBar.html +34 -14
  52. data/doc/TaskJuggler/HTMLDocument.html +26 -6
  53. data/doc/TaskJuggler/HTMLGraphics.html +30 -10
  54. data/doc/TaskJuggler/Interval.html +40 -22
  55. data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
  56. data/doc/TaskJuggler/JobInfo.html +24 -4
  57. data/doc/TaskJuggler/Journal.html +226 -147
  58. data/doc/TaskJuggler/JournalEntry.html +22 -2
  59. data/doc/TaskJuggler/JournalEntryList.html +129 -112
  60. data/doc/TaskJuggler/KeywordArray.html +26 -6
  61. data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
  62. data/doc/TaskJuggler/Limits.html +152 -123
  63. data/doc/TaskJuggler/Limits/Limit.html +149 -70
  64. data/doc/TaskJuggler/LimitsAttribute.html +36 -51
  65. data/doc/TaskJuggler/ListAttributeBase.html +24 -4
  66. data/doc/TaskJuggler/Log.html +50 -32
  67. data/doc/TaskJuggler/LogFile.html +37 -17
  68. data/doc/TaskJuggler/LogicalAttribute.html +53 -33
  69. data/doc/TaskJuggler/LogicalExpression.html +26 -6
  70. data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
  71. data/doc/TaskJuggler/LogicalFlag.html +42 -22
  72. data/doc/TaskJuggler/LogicalFunction.html +204 -140
  73. data/doc/TaskJuggler/LogicalOperation.html +135 -111
  74. data/doc/TaskJuggler/Macro.html +22 -2
  75. data/doc/TaskJuggler/MacroParser.html +32 -12
  76. data/doc/TaskJuggler/MacroTable.html +32 -12
  77. data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
  78. data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
  79. data/doc/TaskJuggler/Message.html +24 -4
  80. data/doc/TaskJuggler/MessageHandler.html +24 -4
  81. data/doc/TaskJuggler/Navigator.html +104 -71
  82. data/doc/TaskJuggler/NavigatorElement.html +32 -12
  83. data/doc/TaskJuggler/NikuProject.html +22 -2
  84. data/doc/TaskJuggler/NikuReport.html +310 -228
  85. data/doc/TaskJuggler/NikuResource.html +22 -2
  86. data/doc/TaskJuggler/NodeListAttribute.html +615 -0
  87. data/doc/TaskJuggler/OnShiftCache.html +32 -12
  88. data/doc/TaskJuggler/ProcessIntercom.html +205 -78
  89. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
  90. data/doc/TaskJuggler/Project.html +708 -660
  91. data/doc/TaskJuggler/ProjectBroker.html +506 -304
  92. data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
  93. data/doc/TaskJuggler/ProjectFileParser.html +429 -373
  94. data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
  95. data/doc/TaskJuggler/ProjectRecord.html +80 -60
  96. data/doc/TaskJuggler/ProjectServer.html +312 -237
  97. data/doc/TaskJuggler/ProjectServerIface.html +101 -43
  98. data/doc/TaskJuggler/PropertyAttribute.html +32 -12
  99. data/doc/TaskJuggler/PropertyList.html +166 -145
  100. data/doc/TaskJuggler/PropertySet.html +254 -224
  101. data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
  102. data/doc/TaskJuggler/Query.html +169 -148
  103. data/doc/TaskJuggler/RTFHandlers.html +622 -0
  104. data/doc/TaskJuggler/RTFNavigator.html +28 -8
  105. data/doc/TaskJuggler/RTFQuery.html +40 -20
  106. data/doc/TaskJuggler/RTFReport.html +62 -25
  107. data/doc/TaskJuggler/RTFReportLink.html +765 -0
  108. data/doc/TaskJuggler/RealFormat.html +26 -6
  109. data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
  110. data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
  111. data/doc/TaskJuggler/Report.html +402 -251
  112. data/doc/TaskJuggler/ReportBase.html +162 -137
  113. data/doc/TaskJuggler/ReportContext.html +112 -29
  114. data/doc/TaskJuggler/ReportServer.html +89 -64
  115. data/doc/TaskJuggler/ReportServerIface.html +75 -55
  116. data/doc/TaskJuggler/ReportServerRecord.html +54 -31
  117. data/doc/TaskJuggler/ReportServlet.html +980 -0
  118. data/doc/TaskJuggler/ReportTable.html +41 -21
  119. data/doc/TaskJuggler/ReportTableCell.html +214 -170
  120. data/doc/TaskJuggler/ReportTableColumn.html +30 -10
  121. data/doc/TaskJuggler/ReportTableLegend.html +36 -16
  122. data/doc/TaskJuggler/ReportTableLine.html +32 -12
  123. data/doc/TaskJuggler/Resource.html +99 -87
  124. data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
  125. data/doc/TaskJuggler/ResourceListRE.html +47 -26
  126. data/doc/TaskJuggler/ResourceScenario.html +403 -437
  127. data/doc/TaskJuggler/RichText.html +26 -6
  128. data/doc/TaskJuggler/RichTextAttribute.html +50 -30
  129. data/doc/TaskJuggler/RichTextDocument.html +37 -17
  130. data/doc/TaskJuggler/RichTextElement.html +475 -413
  131. data/doc/TaskJuggler/RichTextException.html +22 -2
  132. data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
  133. data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
  134. data/doc/TaskJuggler/RichTextImage.html +22 -2
  135. data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
  136. data/doc/TaskJuggler/RichTextParser.html +56 -34
  137. data/doc/TaskJuggler/RichTextScanner.html +82 -61
  138. data/doc/TaskJuggler/RichTextSnip.html +34 -14
  139. data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
  140. data/doc/TaskJuggler/Scenario.html +22 -2
  141. data/doc/TaskJuggler/ScenarioData.html +30 -46
  142. data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
  143. data/doc/TaskJuggler/Scoreboard.html +42 -22
  144. data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
  145. data/doc/TaskJuggler/SheetReceiver.html +333 -295
  146. data/doc/TaskJuggler/SheetSender.html +253 -230
  147. data/doc/TaskJuggler/Shift.html +26 -6
  148. data/doc/TaskJuggler/ShiftAssignment.html +89 -73
  149. data/doc/TaskJuggler/ShiftAssignments.html +226 -234
  150. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
  151. data/doc/TaskJuggler/ShiftScenario.html +28 -8
  152. data/doc/TaskJuggler/SortListAttribute.html +34 -14
  153. data/doc/TaskJuggler/SourceFileInfo.html +24 -4
  154. data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
  155. data/doc/TaskJuggler/StatusSheetReport.html +168 -153
  156. data/doc/TaskJuggler/StatusSheetSender.html +24 -3
  157. data/doc/TaskJuggler/StringAttribute.html +38 -18
  158. data/doc/TaskJuggler/SymbolAttribute.html +32 -12
  159. data/doc/TaskJuggler/SyntaxReference.html +40 -20
  160. data/doc/TaskJuggler/TOCEntry.html +26 -6
  161. data/doc/TaskJuggler/TSResourceRecord.html +22 -2
  162. data/doc/TaskJuggler/TSTaskRecord.html +22 -2
  163. data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
  164. data/doc/TaskJuggler/TableOfContents.html +26 -6
  165. data/doc/TaskJuggler/TableReport.html +937 -904
  166. data/doc/TaskJuggler/Task.html +55 -36
  167. data/doc/TaskJuggler/TaskDependency.html +24 -4
  168. data/doc/TaskJuggler/TaskListAttribute.html +50 -30
  169. data/doc/TaskJuggler/TaskListRE.html +27 -7
  170. data/doc/TaskJuggler/TaskScenario.html +1273 -1153
  171. data/doc/TaskJuggler/TextFormatter.html +28 -8
  172. data/doc/TaskJuggler/TextParser.html +585 -338
  173. data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
  174. data/doc/TaskJuggler/TextParser/Rule.html +95 -73
  175. data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
  176. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
  177. data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
  178. data/doc/TaskJuggler/TextReport.html +28 -8
  179. data/doc/TaskJuggler/TextScanner.html +400 -1404
  180. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
  181. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
  182. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
  183. data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
  184. data/doc/TaskJuggler/TimeSheet.html +48 -28
  185. data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
  186. data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
  187. data/doc/TaskJuggler/TimeSheetReport.html +154 -133
  188. data/doc/TaskJuggler/TimeSheetSender.html +24 -3
  189. data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
  190. data/doc/TaskJuggler/TimeSheets.html +26 -6
  191. data/doc/TaskJuggler/Tj3AppBase.html +85 -58
  192. data/doc/TaskJuggler/Tj3Client.html +292 -238
  193. data/doc/TaskJuggler/Tj3Daemon.html +159 -74
  194. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
  195. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
  196. data/doc/TaskJuggler/Tj3SsSender.html +53 -26
  197. data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
  198. data/doc/TaskJuggler/Tj3TsSender.html +26 -6
  199. data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
  200. data/doc/TaskJuggler/TjException.html +22 -2
  201. data/doc/TaskJuggler/TjTime.html +216 -160
  202. data/doc/TaskJuggler/TjpExample.html +34 -14
  203. data/doc/TaskJuggler/TjpExportRE.html +403 -407
  204. data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
  205. data/doc/TaskJuggler/URLParameter.html +649 -0
  206. data/doc/TaskJuggler/UserManual.html +42 -22
  207. data/doc/TaskJuggler/WebServer.html +702 -0
  208. data/doc/TaskJuggler/WorkingHours.html +38 -18
  209. data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
  210. data/doc/TaskJuggler/XMLBlob.html +24 -4
  211. data/doc/TaskJuggler/XMLComment.html +24 -4
  212. data/doc/TaskJuggler/XMLDocument.html +30 -10
  213. data/doc/TaskJuggler/XMLElement.html +34 -14
  214. data/doc/TaskJuggler/XMLNamedText.html +22 -2
  215. data/doc/TaskJuggler/XMLText.html +24 -4
  216. data/doc/index.html +1841 -1666
  217. data/doc/lib/AccountScenario_rb.html +1 -1
  218. data/doc/lib/Account_rb.html +1 -1
  219. data/doc/lib/Allocation_rb.html +1 -1
  220. data/doc/lib/AppConfig_rb.html +2 -2
  221. data/doc/lib/AttributeBase_rb.html +1 -1
  222. data/doc/lib/AttributeDefinition_rb.html +1 -1
  223. data/doc/lib/Attributes_rb.html +2 -2
  224. data/doc/lib/BatchProcessor_rb.html +1 -1
  225. data/doc/lib/Booking_rb.html +1 -1
  226. data/doc/lib/ChargeSet_rb.html +1 -1
  227. data/doc/lib/Charge_rb.html +1 -1
  228. data/doc/lib/HTMLDocument_rb.html +1 -1
  229. data/doc/lib/Interval_rb.html +1 -1
  230. data/doc/lib/Journal_rb.html +2 -2
  231. data/doc/lib/KeywordArray_rb.html +1 -1
  232. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  233. data/doc/lib/Limits_rb.html +2 -2
  234. data/doc/lib/LogFile_rb.html +2 -2
  235. data/doc/lib/Log_rb.html +1 -1
  236. data/doc/lib/LogicalExpression_rb.html +1 -1
  237. data/doc/lib/LogicalFunction_rb.html +2 -2
  238. data/doc/lib/LogicalOperation_rb.html +2 -2
  239. data/doc/lib/MacroParser_rb.html +1 -1
  240. data/doc/lib/MacroTable_rb.html +1 -1
  241. data/doc/lib/MessageHandler_rb.html +1 -1
  242. data/doc/lib/Message_rb.html +1 -1
  243. data/doc/lib/ProjectFileParser_rb.html +4 -8
  244. data/doc/lib/ProjectFileScanner_rb.html +67 -0
  245. data/doc/lib/Project_rb.html +2 -2
  246. data/doc/lib/PropertyList_rb.html +2 -2
  247. data/doc/lib/PropertySet_rb.html +2 -2
  248. data/doc/lib/PropertyTreeNode_rb.html +2 -2
  249. data/doc/lib/Query_rb.html +2 -2
  250. data/doc/lib/RTFHandlers_rb.html +73 -0
  251. data/doc/lib/RTFNavigator_rb.html +1 -1
  252. data/doc/lib/RTFQuery_rb.html +1 -1
  253. data/doc/lib/RTFReportLink_rb.html +71 -0
  254. data/doc/lib/RTFReport_rb.html +2 -2
  255. data/doc/lib/RealFormat_rb.html +1 -1
  256. data/doc/lib/ResourceScenario_rb.html +2 -2
  257. data/doc/lib/Resource_rb.html +2 -2
  258. data/doc/lib/RichTextDocument_rb.html +1 -1
  259. data/doc/lib/RichTextElement_rb.html +2 -2
  260. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  261. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  262. data/doc/lib/RichTextParser_rb.html +2 -2
  263. data/doc/lib/RichTextScanner_rb.html +2 -2
  264. data/doc/lib/RichTextSnip_rb.html +1 -1
  265. data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
  266. data/doc/lib/RichText_rb.html +1 -1
  267. data/doc/lib/RuntimeConfig_rb.html +1 -1
  268. data/doc/lib/ScenarioData_rb.html +2 -2
  269. data/doc/lib/Scenario_rb.html +1 -1
  270. data/doc/lib/Scoreboard_rb.html +1 -1
  271. data/doc/lib/SheetHandlerBase_rb.html +1 -1
  272. data/doc/lib/SheetReceiver_rb.html +2 -2
  273. data/doc/lib/SheetSender_rb.html +4 -2
  274. data/doc/lib/ShiftAssignments_rb.html +4 -2
  275. data/doc/lib/ShiftScenario_rb.html +1 -1
  276. data/doc/lib/Shift_rb.html +1 -1
  277. data/doc/lib/SourceFileInfo_rb.html +1 -1
  278. data/doc/lib/StatusSheetReceiver_rb.html +2 -2
  279. data/doc/lib/StatusSheetSender_rb.html +2 -2
  280. data/doc/lib/SyntaxReference_rb.html +1 -1
  281. data/doc/lib/TOCEntry_rb.html +1 -1
  282. data/doc/lib/TableColumnDefinition_rb.html +2 -2
  283. data/doc/lib/TableOfContents_rb.html +1 -1
  284. data/doc/lib/TaskDependency_rb.html +1 -1
  285. data/doc/lib/TaskJuggler_rb.html +2 -2
  286. data/doc/lib/TaskScenario_rb.html +2 -2
  287. data/doc/lib/Task_rb.html +2 -2
  288. data/doc/lib/TextFormatter_rb.html +1 -1
  289. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  290. data/doc/lib/TextParser/Rule_rb.html +2 -2
  291. data/doc/lib/TextParser/StackElement_rb.html +2 -2
  292. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  293. data/doc/lib/TextParser_rb.html +2 -2
  294. data/doc/lib/TextScanner_rb.html +6 -2
  295. data/doc/lib/TimeSheetReceiver_rb.html +2 -2
  296. data/doc/lib/TimeSheetSender_rb.html +2 -2
  297. data/doc/lib/TimeSheetSummary_rb.html +2 -2
  298. data/doc/lib/TimeSheets_rb.html +2 -2
  299. data/doc/lib/Tj3AppBase_rb.html +2 -2
  300. data/doc/lib/Tj3Config_rb.html +2 -2
  301. data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
  302. data/doc/lib/TjException_rb.html +1 -1
  303. data/doc/lib/TjTime_rb.html +2 -2
  304. data/doc/lib/TjpExample_rb.html +1 -1
  305. data/doc/lib/TjpSyntaxRules_rb.html +2 -2
  306. data/doc/lib/URLParameter_rb.html +67 -0
  307. data/doc/lib/UTF8String_rb.html +1 -1
  308. data/doc/lib/UserManual_rb.html +1 -1
  309. data/doc/lib/WorkingHours_rb.html +1 -1
  310. data/doc/lib/XMLDocument_rb.html +2 -2
  311. data/doc/lib/XMLElement_rb.html +1 -1
  312. data/doc/lib/daemon/Daemon_rb.html +1 -1
  313. data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
  314. data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
  315. data/doc/lib/daemon/ProjectServer_rb.html +2 -2
  316. data/doc/lib/daemon/ReportServer_rb.html +2 -2
  317. data/doc/lib/daemon/WebServer_rb.html +75 -0
  318. data/doc/lib/deep_copy_rb.html +2 -2
  319. data/doc/lib/reports/CSVFile_rb.html +2 -2
  320. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  321. data/doc/lib/reports/GanttChart_rb.html +2 -2
  322. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  323. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  324. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  325. data/doc/lib/reports/GanttLine_rb.html +1 -1
  326. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  327. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  328. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  329. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  330. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  331. data/doc/lib/reports/Navigator_rb.html +2 -2
  332. data/doc/lib/reports/NikuReport_rb.html +2 -2
  333. data/doc/lib/reports/ReportBase_rb.html +2 -2
  334. data/doc/lib/reports/ReportContext_rb.html +2 -2
  335. data/doc/lib/reports/ReportTableCell_rb.html +2 -2
  336. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  337. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  338. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  339. data/doc/lib/reports/ReportTable_rb.html +2 -2
  340. data/doc/lib/reports/Report_rb.html +2 -2
  341. data/doc/lib/reports/ResourceListRE_rb.html +2 -2
  342. data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
  343. data/doc/lib/reports/TableReport_rb.html +2 -2
  344. data/doc/lib/reports/TaskListRE_rb.html +2 -2
  345. data/doc/lib/reports/TextReport_rb.html +1 -1
  346. data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
  347. data/doc/lib/reports/TjpExportRE_rb.html +2 -2
  348. data/doc/lib/ruby-signal-bug_rb.html +1 -1
  349. data/doc/lib/taskjuggler3_rb.html +2 -2
  350. data/doc/lib/tj3client_rb.html +2 -2
  351. data/doc/lib/tj3d_rb.html +2 -2
  352. data/doc/lib/tj3man_rb.html +1 -1
  353. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  354. data/doc/lib/tj3ss_sender_rb.html +2 -2
  355. data/doc/lib/tj3ts_receiver_rb.html +2 -2
  356. data/doc/lib/tj3ts_sender_rb.html +1 -1
  357. data/doc/lib/tj3ts_summary_rb.html +1 -1
  358. data/doc/rdoc.css +9 -4
  359. data/examples/tutorial.tjp +17 -15
  360. data/gem_spec.rb +3 -0
  361. data/lib/AppConfig.rb +3 -1
  362. data/lib/Attributes.rb +10 -8
  363. data/lib/Journal.rb +55 -20
  364. data/lib/Limits.rb +72 -46
  365. data/lib/LogFile.rb +3 -3
  366. data/lib/LogicalFunction.rb +19 -6
  367. data/lib/LogicalOperation.rb +5 -1
  368. data/lib/Project.rb +37 -9
  369. data/lib/ProjectFileParser.rb +25 -22
  370. data/lib/ProjectFileScanner.rb +365 -0
  371. data/lib/PropertyList.rb +2 -1
  372. data/lib/PropertySet.rb +14 -4
  373. data/lib/PropertyTreeNode.rb +42 -29
  374. data/lib/Query.rb +3 -1
  375. data/lib/RTFHandlers.rb +35 -0
  376. data/lib/RTFReport.rb +23 -6
  377. data/lib/RTFReportLink.rb +72 -0
  378. data/lib/Resource.rb +8 -16
  379. data/lib/ResourceScenario.rb +1 -22
  380. data/lib/RichTextElement.rb +42 -0
  381. data/lib/RichTextParser.rb +6 -4
  382. data/lib/RichTextScanner.rb +5 -5
  383. data/lib/RichTextSyntaxRules.rb +48 -10
  384. data/lib/ScenarioData.rb +5 -3
  385. data/lib/SheetReceiver.rb +24 -6
  386. data/lib/SheetSender.rb +17 -13
  387. data/lib/ShiftAssignments.rb +56 -52
  388. data/lib/StatusSheetReceiver.rb +1 -0
  389. data/lib/StatusSheetSender.rb +1 -0
  390. data/lib/TableColumnDefinition.rb +4 -2
  391. data/lib/Task.rb +8 -9
  392. data/lib/TaskJuggler.rb +21 -11
  393. data/lib/TaskScenario.rb +61 -26
  394. data/lib/TextParser.rb +268 -106
  395. data/lib/TextParser/Rule.rb +4 -2
  396. data/lib/TextParser/StackElement.rb +6 -4
  397. data/lib/TextScanner.rb +283 -700
  398. data/lib/TimeSheetReceiver.rb +1 -0
  399. data/lib/TimeSheetSender.rb +1 -0
  400. data/lib/TimeSheetSummary.rb +51 -26
  401. data/lib/TimeSheets.rb +1 -1
  402. data/lib/Tj3AppBase.rb +8 -1
  403. data/lib/Tj3Config.rb +1 -1
  404. data/lib/TjTime.rb +5 -0
  405. data/lib/TjpSyntaxRules.rb +360 -144
  406. data/lib/URLParameter.rb +30 -0
  407. data/lib/XMLDocument.rb +2 -2
  408. data/lib/daemon/ProcessIntercom.rb +50 -9
  409. data/lib/daemon/ProjectBroker.rb +63 -10
  410. data/lib/daemon/ProjectServer.rb +47 -16
  411. data/lib/daemon/ReportServer.rb +9 -4
  412. data/lib/daemon/WebServer.rb +204 -0
  413. data/lib/deep_copy.rb +4 -1
  414. data/lib/reports/CSVFile.rb +150 -66
  415. data/lib/reports/GanttChart.rb +2 -1
  416. data/lib/reports/Navigator.rb +18 -5
  417. data/lib/reports/NikuReport.rb +32 -2
  418. data/lib/reports/Report.rb +65 -37
  419. data/lib/reports/ReportBase.rb +14 -9
  420. data/lib/reports/ReportContext.rb +19 -4
  421. data/lib/reports/ReportTable.rb +2 -2
  422. data/lib/reports/ReportTableCell.rb +54 -30
  423. data/lib/reports/ResourceListRE.rb +4 -3
  424. data/lib/reports/StatusSheetReport.rb +8 -13
  425. data/lib/reports/TableReport.rb +47 -32
  426. data/lib/reports/TaskListRE.rb +3 -3
  427. data/lib/reports/TimeSheetReport.rb +14 -5
  428. data/lib/reports/TjpExportRE.rb +14 -19
  429. data/lib/taskjuggler3.rb +15 -0
  430. data/lib/tj3client.rb +9 -7
  431. data/lib/tj3d.rb +38 -10
  432. data/lib/tj3ss_sender.rb +7 -0
  433. data/lib/tj3ts_receiver.rb +1 -0
  434. data/manual/Day_To_Day_Juggling +1 -1
  435. data/manual/Rich_Text_Attributes +8 -0
  436. data/manual/TaskJuggler_2x_Migration +7 -0
  437. data/manual/The_TaskJuggler_Syntax +20 -6
  438. data/prj_cfg.rb +3 -2
  439. data/tasks/changelog.rake +36 -0
  440. data/tasks/csts.rake +2 -3
  441. data/tasks/gem.rake +10 -0
  442. data/tasks/missing.rake +0 -17
  443. data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
  444. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
  445. data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
  446. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
  447. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
  448. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
  449. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
  450. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  451. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  452. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  453. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  454. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  455. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  456. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  457. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  458. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  459. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  460. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  461. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
  462. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  463. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
  464. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
  465. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
  466. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  467. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
  468. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
  469. data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
  470. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
  471. data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
  472. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
  473. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
  474. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
  475. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
  476. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
  477. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  478. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  479. data/test/TestSuite/StatusSheets/run +3 -2
  480. data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
  481. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
  482. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
  483. data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
  484. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
  485. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
  486. data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
  487. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  488. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  489. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  490. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  491. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  492. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  493. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  494. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  495. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  496. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  497. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  498. data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
  499. data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
  500. data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
  501. data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
  502. data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
  503. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  504. data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
  505. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  506. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
  507. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
  508. data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
  509. data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
  510. data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
  511. data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
  512. data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
  513. data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
  514. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  515. data/test/TestSuite/TimeSheets/run +5 -5
  516. data/test/test_CSVFile.rb +75 -0
  517. data/test/test_Limits.rb +63 -5
  518. data/test/test_ProjectFileScanner.rb +163 -0
  519. data/test/test_ReportGenerator.rb +81 -0
  520. data/test/test_RichText.rb +21 -3
  521. data/test/test_Scheduler.rb +1 -1
  522. data/test/test_ShiftAssignments.rb +4 -4
  523. data/test/test_Syntax.rb +1 -1
  524. data/test/test_URLParameter.rb +30 -0
  525. metadata +126 -32
  526. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
  527. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
  528. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
  529. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
  530. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
  531. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
  532. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
  533. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
  534. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
  535. data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
  536. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
  537. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
  538. data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
  539. data/test/TestSuite/TimeSheets/receiver.log +0 -102
  540. data/test/TestSuite/TimeSheets/sender.log +0 -794
  541. data/test/TestSuite/TimeSheets/summary.log +0 -884
  542. data/test/TestSuite/TimeSheets/timesheets.log +0 -45
  543. data/test/TestSuite/TimeSheets/tj3d.log +0 -292
  544. data/test/test_TextScanner.rb +0 -95
@@ -69,79 +69,85 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M000947">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
- <li><a href="#M000972">#[]</a></li>
74
+ <li><a href="#method-i-%5B%5D">#[]</a></li>
75
75
 
76
- <li><a href="#M000971">#[]=</a></li>
76
+ <li><a href="#method-i-%5B%5D%3D">#[]=</a></li>
77
77
 
78
- <li><a href="#M000960">#addChild</a></li>
78
+ <li><a href="#method-i-addChild">#addChild</a></li>
79
79
 
80
- <li><a href="#M000982">#alertMessages</a></li>
80
+ <li><a href="#method-i-all">#all</a></li>
81
81
 
82
- <li><a href="#M000952">#all</a></li>
82
+ <li><a href="#method-i-allLeaves">#allLeaves</a></li>
83
83
 
84
- <li><a href="#M000953">#allLeaves</a></li>
84
+ <li><a href="#method-i-attributeDefinition">#attributeDefinition</a></li>
85
85
 
86
- <li><a href="#M000966">#attributeDefinition</a></li>
86
+ <li><a href="#method-i-backupAttributes">#backupAttributes</a></li>
87
87
 
88
- <li><a href="#M000963">#container?</a></li>
88
+ <li><a href="#method-i-container%3F">#container?</a></li>
89
89
 
90
- <li><a href="#M000965">#declareAttribute</a></li>
90
+ <li><a href="#method-i-declareAttribute">#declareAttribute</a></li>
91
91
 
92
- <li><a href="#M000948">#deep_clone</a></li>
92
+ <li><a href="#method-i-deep_clone">#deep_clone</a></li>
93
93
 
94
- <li><a href="#M000954">#eachAttribute</a></li>
94
+ <li><a href="#method-i-eachAttribute">#eachAttribute</a></li>
95
95
 
96
- <li><a href="#M000955">#eachScenarioAttribute</a></li>
96
+ <li><a href="#method-i-eachScenarioAttribute">#eachScenarioAttribute</a></li>
97
97
 
98
- <li><a href="#M000956">#fullId</a></li>
98
+ <li><a href="#method-i-fullId">#fullId</a></li>
99
99
 
100
- <li><a href="#M000967">#get</a></li>
100
+ <li><a href="#method-i-get">#get</a></li>
101
101
 
102
- <li><a href="#M000968">#getAttr</a></li>
102
+ <li><a href="#method-i-getAttr">#getAttr</a></li>
103
103
 
104
- <li><a href="#M000969">#getAttribute</a></li>
104
+ <li><a href="#method-i-getAttribute">#getAttribute</a></li>
105
105
 
106
- <li><a href="#M000959">#getIndicies</a></li>
106
+ <li><a href="#method-i-getIndicies">#getIndicies</a></li>
107
107
 
108
- <li><a href="#M000958">#getWBSIndicies</a></li>
108
+ <li><a href="#method-i-getWBSIndicies">#getWBSIndicies</a></li>
109
109
 
110
- <li><a href="#M000984">#indent</a></li>
110
+ <li><a href="#method-i-indent">#indent</a></li>
111
111
 
112
- <li><a href="#M000950">#inheritAttributes</a></li>
112
+ <li><a href="#method-i-inheritAttributes">#inheritAttributes</a></li>
113
113
 
114
- <li><a href="#M000951">#inheritAttributesFromScenario</a></li>
114
+ <li><a href="#method-i-inheritAttributesFromScenario">#inheritAttributesFromScenario</a></li>
115
115
 
116
- <li><a href="#M000974">#inherited</a></li>
116
+ <li><a href="#method-i-inherited">#inherited</a></li>
117
117
 
118
- <li><a href="#M000961">#isChildOf?</a></li>
118
+ <li><a href="#method-i-isChildOf%3F">#isChildOf?</a></li>
119
119
 
120
- <li><a href="#M000962">#leaf?</a></li>
120
+ <li><a href="#method-i-journalMessages">#journalMessages</a></li>
121
121
 
122
- <li><a href="#M000957">#level</a></li>
122
+ <li><a href="#method-i-leaf%3F">#leaf?</a></li>
123
123
 
124
- <li><a href="#M000949">#levelSeqNo</a></li>
124
+ <li><a href="#method-i-level">#level</a></li>
125
125
 
126
- <li><a href="#M000981">#method_missing</a></li>
126
+ <li><a href="#method-i-levelSeqNo">#levelSeqNo</a></li>
127
127
 
128
- <li><a href="#M000975">#modified?</a></li>
128
+ <li><a href="#method-i-method_missing">#method_missing</a></li>
129
129
 
130
- <li><a href="#M000983">#newAttribute</a></li>
130
+ <li><a href="#method-i-modified%3F">#modified?</a></li>
131
131
 
132
- <li><a href="#M000973">#provided</a></li>
132
+ <li><a href="#method-i-provided">#provided</a></li>
133
133
 
134
- <li><a href="#M000976">#query_alert</a></li>
134
+ <li><a href="#method-i-query_alert">#query_alert</a></li>
135
135
 
136
- <li><a href="#M000978">#query_alertmessage</a></li>
136
+ <li><a href="#method-i-query_alertmessages">#query_alertmessages</a></li>
137
137
 
138
- <li><a href="#M000977">#query_alertsummary</a></li>
138
+ <li><a href="#method-i-query_alertsummaries">#query_alertsummaries</a></li>
139
139
 
140
- <li><a href="#M000979">#query_alerttrend</a></li>
140
+ <li><a href="#method-i-query_alerttrend">#query_alerttrend</a></li>
141
141
 
142
- <li><a href="#M000964">#root</a></li>
142
+ <li><a href="#method-i-query_journalmessages">#query_journalmessages</a></li>
143
143
 
144
- <li><a href="#M000970">#set</a></li>
144
+ <li><a href="#method-i-query_journalsummaries">#query_journalsummaries</a></li>
145
+
146
+ <li><a href="#method-i-restoreAttributes">#restoreAttributes</a></li>
147
+
148
+ <li><a href="#method-i-root">#root</a></li>
149
+
150
+ <li><a href="#method-i-set">#set</a></li>
145
151
 
146
152
  </ul>
147
153
  </div>
@@ -158,6 +164,8 @@
158
164
  <h3 class="section-header">Files</h3>
159
165
  <ul>
160
166
 
167
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
168
+
161
169
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
162
170
 
163
171
  <li class="file"><a href="../README.html">README</a></li>
@@ -327,6 +335,8 @@
327
335
 
328
336
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
329
337
 
338
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
339
+
330
340
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
331
341
 
332
342
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -341,6 +351,8 @@
341
351
 
342
352
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
343
353
 
354
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
355
+
344
356
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
345
357
 
346
358
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -357,12 +369,16 @@
357
369
 
358
370
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
359
371
 
372
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
373
+
360
374
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
361
375
 
362
376
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
363
377
 
364
378
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
365
379
 
380
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
381
+
366
382
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
367
383
 
368
384
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -381,6 +397,8 @@
381
397
 
382
398
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
383
399
 
400
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
401
+
384
402
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
385
403
 
386
404
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -509,6 +527,8 @@
509
527
 
510
528
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
511
529
 
530
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
531
+
512
532
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
513
533
 
514
534
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -553,8 +573,12 @@
553
573
 
554
574
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
555
575
 
576
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
577
+
556
578
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
557
579
 
580
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
581
+
558
582
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
559
583
 
560
584
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -581,6 +605,8 @@
581
605
 
582
606
  <li><a href="../String.html">String</a></li>
583
607
 
608
+ <li><a href="../StringIO.html">StringIO</a></li>
609
+
584
610
  </ul>
585
611
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
586
612
  </div>
@@ -650,21 +676,6 @@ attribute like an URL that contains more details about the task.
650
676
 
651
677
 
652
678
 
653
- </div>
654
- </div>
655
-
656
- <div id="name-attribute-method" class="method-detail">
657
- <a name="name"></a>
658
-
659
- <div class="method-heading attribute-method-heading">
660
- <span class="method-name">name</span><span
661
- class="attribute-access-type">[R]</span>
662
- </div>
663
-
664
- <div class="method-description">
665
-
666
-
667
-
668
679
  </div>
669
680
  </div>
670
681
 
@@ -725,6 +736,23 @@ attribute like an URL that contains more details about the task.
725
736
 
726
737
 
727
738
 
739
+ </div>
740
+ </div>
741
+
742
+ <div id="name-attribute-method" class="method-detail">
743
+ <a name="name"></a>
744
+
745
+ <a name="name="></a>
746
+
747
+ <div class="method-heading attribute-method-heading">
748
+ <span class="method-name">name</span><span
749
+ class="attribute-access-type">[RW]</span>
750
+ </div>
751
+
752
+ <div class="method-description">
753
+
754
+
755
+
728
756
  </div>
729
757
  </div>
730
758
 
@@ -770,7 +798,7 @@ attribute like an URL that contains more details about the task.
770
798
 
771
799
 
772
800
  <div id="new-method" class="method-detail ">
773
- <a name="M000947"></a>
801
+ <a name="method-c-new"></a>
774
802
 
775
803
  <div class="method-heading">
776
804
 
@@ -866,7 +894,7 @@ be nil and specified by a hierachical <em>id</em> (e. g.
866
894
 
867
895
 
868
896
  <div id="--method" class="method-detail ">
869
- <a name="M000972"></a>
897
+ <a name="method-i-%5B%5D"></a>
870
898
 
871
899
  <div class="method-heading">
872
900
 
@@ -889,14 +917,14 @@ the <a href="Scenario.html">Scenario</a>.
889
917
  <div class="method-source-code"
890
918
  id="--source">
891
919
  <pre>
892
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 420</span>
893
- 420: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
894
- 421: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
895
- 422: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
896
- 423: <span class="ruby-keyword kw">else</span>
897
- 424: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
898
- 425: <span class="ruby-keyword kw">end</span>
899
- 426: <span class="ruby-keyword kw">end</span></pre>
920
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 432</span>
921
+ 432: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
922
+ 433: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
923
+ 434: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
924
+ 435: <span class="ruby-keyword kw">else</span>
925
+ 436: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
926
+ 437: <span class="ruby-keyword kw">end</span>
927
+ 438: <span class="ruby-keyword kw">end</span></pre>
900
928
  </div>
901
929
 
902
930
  </div>
@@ -908,7 +936,7 @@ the <a href="Scenario.html">Scenario</a>.
908
936
 
909
937
 
910
938
  <div id="--method" class="method-detail ">
911
- <a name="M000971"></a>
939
+ <a name="method-i-%5B%5D%3D"></a>
912
940
 
913
941
  <div class="method-heading">
914
942
 
@@ -931,17 +959,17 @@ attribute does not exist, an exception is raised.
931
959
  <div class="method-source-code"
932
960
  id="--source">
933
961
  <pre>
934
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 406</span>
935
- 406: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>, <span class="ruby-identifier">value</span>)
936
- 407: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
937
- 408: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
938
- 409: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
939
- 410: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
940
- 411: <span class="ruby-keyword kw">else</span>
941
- 412: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
942
- 413: <span class="ruby-keyword kw">end</span>
943
- 414: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
944
- 415: <span class="ruby-keyword kw">end</span></pre>
962
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 418</span>
963
+ 418: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>, <span class="ruby-identifier">value</span>)
964
+ 419: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
965
+ 420: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
966
+ 421: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
967
+ 422: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
968
+ 423: <span class="ruby-keyword kw">else</span>
969
+ 424: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
970
+ 425: <span class="ruby-keyword kw">end</span>
971
+ 426: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
972
+ 427: <span class="ruby-keyword kw">end</span></pre>
945
973
  </div>
946
974
 
947
975
  </div>
@@ -953,7 +981,7 @@ attribute does not exist, an exception is raised.
953
981
 
954
982
 
955
983
  <div id="add-hild-method" class="method-detail ">
956
- <a name="M000960"></a>
984
+ <a name="method-i-addChild"></a>
957
985
 
958
986
  <div class="method-heading">
959
987
 
@@ -974,13 +1002,13 @@ Add <em>child</em> node as child to this node.
974
1002
  <div class="method-source-code"
975
1003
  id="add-hild-source">
976
1004
  <pre>
977
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 283</span>
978
- 283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
979
- 284: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@propertySet</span>
980
- 285: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Child nodes must belong to the same property set as the parent&quot;</span>
981
- 286: <span class="ruby-keyword kw">end</span>
982
- 287: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
983
- 288: <span class="ruby-keyword kw">end</span></pre>
1005
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 295</span>
1006
+ 295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
1007
+ 296: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@propertySet</span>
1008
+ 297: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Child nodes must belong to the same property set as the parent&quot;</span>
1009
+ 298: <span class="ruby-keyword kw">end</span>
1010
+ 299: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
1011
+ 300: <span class="ruby-keyword kw">end</span></pre>
984
1012
  </div>
985
1013
 
986
1014
  </div>
@@ -992,7 +1020,7 @@ Add <em>child</em> node as child to this node.
992
1020
 
993
1021
 
994
1022
  <div id="all-method" class="method-detail ">
995
- <a name="M000952"></a>
1023
+ <a name="method-i-all"></a>
996
1024
 
997
1025
  <div class="method-heading">
998
1026
 
@@ -1013,14 +1041,14 @@ Returns a list of this node and all transient sub nodes.
1013
1041
  <div class="method-source-code"
1014
1042
  id="all-source">
1015
1043
  <pre>
1016
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 191</span>
1017
- 191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
1018
- 192: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1019
- 193: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1020
- 194: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">all</span>)
1021
- 195: <span class="ruby-keyword kw">end</span>
1022
- 196: <span class="ruby-identifier">res</span>
1023
- 197: <span class="ruby-keyword kw">end</span></pre>
1044
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 203</span>
1045
+ 203: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
1046
+ 204: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1047
+ 205: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1048
+ 206: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">all</span>)
1049
+ 207: <span class="ruby-keyword kw">end</span>
1050
+ 208: <span class="ruby-identifier">res</span>
1051
+ 209: <span class="ruby-keyword kw">end</span></pre>
1024
1052
  </div>
1025
1053
 
1026
1054
  </div>
@@ -1032,7 +1060,7 @@ Returns a list of this node and all transient sub nodes.
1032
1060
 
1033
1061
 
1034
1062
  <div id="all-eaves-method" class="method-detail ">
1035
- <a name="M000953"></a>
1063
+ <a name="method-i-allLeaves"></a>
1036
1064
 
1037
1065
  <div class="method-heading">
1038
1066
 
@@ -1053,18 +1081,18 @@ Return a list of all leaf nodes of this node.
1053
1081
  <div class="method-source-code"
1054
1082
  id="all-eaves-source">
1055
1083
  <pre>
1056
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 200</span>
1057
- 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
1058
- 201: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
1059
- 202: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1060
- 203: <span class="ruby-keyword kw">else</span>
1061
- 204: <span class="ruby-identifier">res</span> = []
1062
- 205: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1063
- 206: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
1064
- 207: <span class="ruby-keyword kw">end</span>
1065
- 208: <span class="ruby-keyword kw">end</span>
1066
- 209: <span class="ruby-identifier">res</span>
1067
- 210: <span class="ruby-keyword kw">end</span></pre>
1084
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 212</span>
1085
+ 212: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
1086
+ 213: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
1087
+ 214: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1088
+ 215: <span class="ruby-keyword kw">else</span>
1089
+ 216: <span class="ruby-identifier">res</span> = []
1090
+ 217: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1091
+ 218: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
1092
+ 219: <span class="ruby-keyword kw">end</span>
1093
+ 220: <span class="ruby-keyword kw">end</span>
1094
+ 221: <span class="ruby-identifier">res</span>
1095
+ 222: <span class="ruby-keyword kw">end</span></pre>
1068
1096
  </div>
1069
1097
 
1070
1098
  </div>
@@ -1076,7 +1104,7 @@ Return a list of all leaf nodes of this node.
1076
1104
 
1077
1105
 
1078
1106
  <div id="attribute-efinition-method" class="method-detail ">
1079
- <a name="M000966"></a>
1107
+ <a name="method-i-attributeDefinition"></a>
1080
1108
 
1081
1109
  <div class="method-heading">
1082
1110
 
@@ -1097,10 +1125,47 @@ Return the type of the attribute with ID <em>attributeId</em>.
1097
1125
  <div class="method-source-code"
1098
1126
  id="attribute-efinition-source">
1099
1127
  <pre>
1100
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 333</span>
1101
- 333: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
1102
- 334: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
1103
- 335: <span class="ruby-keyword kw">end</span></pre>
1128
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 345</span>
1129
+ 345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
1130
+ 346: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
1131
+ 347: <span class="ruby-keyword kw">end</span></pre>
1132
+ </div>
1133
+
1134
+ </div>
1135
+
1136
+
1137
+
1138
+
1139
+ </div>
1140
+
1141
+
1142
+ <div id="backup-ttributes-method" class="method-detail ">
1143
+ <a name="method-i-backupAttributes"></a>
1144
+
1145
+ <div class="method-heading">
1146
+
1147
+ <span class="method-name">backupAttributes</span><span
1148
+ class="method-args">()</span>
1149
+ <span class="method-click-advice">click to toggle source</span>
1150
+
1151
+ </div>
1152
+
1153
+ <div class="method-description">
1154
+
1155
+ <p>
1156
+ This method creates a shallow copy of all attributes and returns them as an
1157
+ Array that can be used with restoreAttributes().
1158
+ </p>
1159
+
1160
+
1161
+
1162
+ <div class="method-source-code"
1163
+ id="backup-ttributes-source">
1164
+ <pre>
1165
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 98</span>
1166
+ 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backupAttributes</span>
1167
+ 99: [ <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">clone</span>, <span class="ruby-ivar">@scenarioAttributes</span>.<span class="ruby-identifier">clone</span> ]
1168
+ 100: <span class="ruby-keyword kw">end</span></pre>
1104
1169
  </div>
1105
1170
 
1106
1171
  </div>
@@ -1112,7 +1177,7 @@ Return the type of the attribute with ID <em>attributeId</em>.
1112
1177
 
1113
1178
 
1114
1179
  <div id="container--method" class="method-detail ">
1115
- <a name="M000963"></a>
1180
+ <a name="method-i-container%3F"></a>
1116
1181
 
1117
1182
  <div class="method-heading">
1118
1183
 
@@ -1133,10 +1198,10 @@ Return true if the node has children.
1133
1198
  <div class="method-source-code"
1134
1199
  id="container--source">
1135
1200
  <pre>
1136
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 305</span>
1137
- 305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
1138
- 306: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1139
- 307: <span class="ruby-keyword kw">end</span></pre>
1201
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 317</span>
1202
+ 317: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
1203
+ 318: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1204
+ 319: <span class="ruby-keyword kw">end</span></pre>
1140
1205
  </div>
1141
1206
 
1142
1207
  </div>
@@ -1148,7 +1213,7 @@ Return true if the node has children.
1148
1213
 
1149
1214
 
1150
1215
  <div id="declare-ttribute-method" class="method-detail ">
1151
- <a name="M000965"></a>
1216
+ <a name="method-i-declareAttribute"></a>
1152
1217
 
1153
1218
  <div class="method-heading">
1154
1219
 
@@ -1171,18 +1236,18 @@ for each scenario.
1171
1236
  <div class="method-source-code"
1172
1237
  id="declare-ttribute-source">
1173
1238
  <pre>
1174
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 320</span>
1175
- 320: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1176
- 321: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
1177
- 322: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
1178
- 323: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1179
- 324: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
1180
- 325: <span class="ruby-keyword kw">end</span>
1181
- 326: <span class="ruby-keyword kw">else</span>
1182
- 327: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1183
- 328: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
1184
- 329: <span class="ruby-keyword kw">end</span>
1185
- 330: <span class="ruby-keyword kw">end</span></pre>
1239
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 332</span>
1240
+ 332: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1241
+ 333: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
1242
+ 334: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
1243
+ 335: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">attributeType</span>)
1244
+ 336: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
1245
+ 337: <span class="ruby-keyword kw">end</span>
1246
+ 338: <span class="ruby-keyword kw">else</span>
1247
+ 339: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">attributeType</span>)
1248
+ 340: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
1249
+ 341: <span class="ruby-keyword kw">end</span>
1250
+ 342: <span class="ruby-keyword kw">end</span></pre>
1186
1251
  </div>
1187
1252
 
1188
1253
  </div>
@@ -1194,7 +1259,7 @@ for each scenario.
1194
1259
 
1195
1260
 
1196
1261
  <div id="deep-clone-method" class="method-detail ">
1197
- <a name="M000948"></a>
1262
+ <a name="method-i-deep_clone"></a>
1198
1263
 
1199
1264
  <div class="method-heading">
1200
1265
 
@@ -1207,7 +1272,8 @@ for each scenario.
1207
1272
  <div class="method-description">
1208
1273
 
1209
1274
  <p>
1210
- We only use <a href="PropertyTreeNode.html#M000948">deep_clone</a> for
1275
+ We only use <a
1276
+ href="PropertyTreeNode.html#method-i-deep_clone">deep_clone</a> for
1211
1277
  attributes, never for properties. Since attributes may reference properties
1212
1278
  these references should remain references.
1213
1279
  </p>
@@ -1232,7 +1298,7 @@ these references should remain references.
1232
1298
 
1233
1299
 
1234
1300
  <div id="each-ttribute-method" class="method-detail ">
1235
- <a name="M000954"></a>
1301
+ <a name="method-i-eachAttribute"></a>
1236
1302
 
1237
1303
  <div class="method-heading">
1238
1304
 
@@ -1253,12 +1319,12 @@ Iterator over all non-scenario-specific attributes of this node.
1253
1319
  <div class="method-source-code"
1254
1320
  id="each-ttribute-source">
1255
1321
  <pre>
1256
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 213</span>
1257
- 213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
1258
- 214: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1259
- 215: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1260
- 216: <span class="ruby-keyword kw">end</span>
1261
- 217: <span class="ruby-keyword kw">end</span></pre>
1322
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 225</span>
1323
+ 225: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
1324
+ 226: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1325
+ 227: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1326
+ 228: <span class="ruby-keyword kw">end</span>
1327
+ 229: <span class="ruby-keyword kw">end</span></pre>
1262
1328
  </div>
1263
1329
 
1264
1330
  </div>
@@ -1270,7 +1336,7 @@ Iterator over all non-scenario-specific attributes of this node.
1270
1336
 
1271
1337
 
1272
1338
  <div id="each-cenario-ttribute-method" class="method-detail ">
1273
- <a name="M000955"></a>
1339
+ <a name="method-i-eachScenarioAttribute"></a>
1274
1340
 
1275
1341
  <div class="method-heading">
1276
1342
 
@@ -1291,12 +1357,12 @@ Iterator over all scenario-specific attributes of this node.
1291
1357
  <div class="method-source-code"
1292
1358
  id="each-cenario-ttribute-source">
1293
1359
  <pre>
1294
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 220</span>
1295
- 220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
1296
- 221: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1297
- 222: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1298
- 223: <span class="ruby-keyword kw">end</span>
1299
- 224: <span class="ruby-keyword kw">end</span></pre>
1360
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 232</span>
1361
+ 232: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
1362
+ 233: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1363
+ 234: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1364
+ 235: <span class="ruby-keyword kw">end</span>
1365
+ 236: <span class="ruby-keyword kw">end</span></pre>
1300
1366
  </div>
1301
1367
 
1302
1368
  </div>
@@ -1308,7 +1374,7 @@ Iterator over all scenario-specific attributes of this node.
1308
1374
 
1309
1375
 
1310
1376
  <div id="full-d-method" class="method-detail ">
1311
- <a name="M000956"></a>
1377
+ <a name="method-i-fullId"></a>
1312
1378
 
1313
1379
  <div class="method-heading">
1314
1380
 
@@ -1332,17 +1398,17 @@ node to this node, separating the IDs by a dot.
1332
1398
  <div class="method-source-code"
1333
1399
  id="full-d-source">
1334
1400
  <pre>
1335
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 229</span>
1336
- 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
1337
- 230: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
1338
- 231: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
1339
- 232: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1340
- 233: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
1341
- 234: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">t</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-identifier">res</span>
1342
- 235: <span class="ruby-keyword kw">end</span>
1343
- 236: <span class="ruby-keyword kw">end</span>
1344
- 237: <span class="ruby-identifier">res</span>
1345
- 238: <span class="ruby-keyword kw">end</span></pre>
1401
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 241</span>
1402
+ 241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
1403
+ 242: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
1404
+ 243: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
1405
+ 244: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1406
+ 245: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
1407
+ 246: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">t</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-identifier">res</span>
1408
+ 247: <span class="ruby-keyword kw">end</span>
1409
+ 248: <span class="ruby-keyword kw">end</span>
1410
+ 249: <span class="ruby-identifier">res</span>
1411
+ 250: <span class="ruby-keyword kw">end</span></pre>
1346
1412
  </div>
1347
1413
 
1348
1414
  </div>
@@ -1354,7 +1420,7 @@ node to this node, separating the IDs by a dot.
1354
1420
 
1355
1421
 
1356
1422
  <div id="get-method" class="method-detail ">
1357
- <a name="M000967"></a>
1423
+ <a name="method-i-get"></a>
1358
1424
 
1359
1425
  <div class="method-heading">
1360
1426
 
@@ -1377,24 +1443,24 @@ raised.
1377
1443
  <div class="method-source-code"
1378
1444
  id="get-source">
1379
1445
  <pre>
1380
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 340</span>
1381
- 340: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
1382
- 341: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1383
- 342: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1384
- 343: <span class="ruby-ivar">@id</span>
1385
- 344: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1386
- 345: <span class="ruby-ivar">@name</span>
1387
- 346: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1388
- 347: <span class="ruby-ivar">@sequenceNo</span>
1389
- 348: <span class="ruby-keyword kw">else</span>
1390
- 349: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
1391
- 350: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1392
- 351: <span class="ruby-node">&quot;Unknown attribute '#{attributeId}' requested for &quot;</span> <span class="ruby-operator">+</span>
1393
- 352: <span class="ruby-node">&quot;#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'&quot;</span>
1394
- 353: <span class="ruby-keyword kw">end</span>
1395
- 354: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
1396
- 355: <span class="ruby-keyword kw">end</span>
1397
- 356: <span class="ruby-keyword kw">end</span></pre>
1446
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 352</span>
1447
+ 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
1448
+ 353: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1449
+ 354: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1450
+ 355: <span class="ruby-ivar">@id</span>
1451
+ 356: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1452
+ 357: <span class="ruby-ivar">@name</span>
1453
+ 358: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1454
+ 359: <span class="ruby-ivar">@sequenceNo</span>
1455
+ 360: <span class="ruby-keyword kw">else</span>
1456
+ 361: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
1457
+ 362: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1458
+ 363: <span class="ruby-node">&quot;Unknown attribute '#{attributeId}' requested for &quot;</span> <span class="ruby-operator">+</span>
1459
+ 364: <span class="ruby-node">&quot;#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'&quot;</span>
1460
+ 365: <span class="ruby-keyword kw">end</span>
1461
+ 366: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
1462
+ 367: <span class="ruby-keyword kw">end</span>
1463
+ 368: <span class="ruby-keyword kw">end</span></pre>
1398
1464
  </div>
1399
1465
 
1400
1466
  </div>
@@ -1406,7 +1472,7 @@ raised.
1406
1472
 
1407
1473
 
1408
1474
  <div id="get-ttr-method" class="method-detail ">
1409
- <a name="M000968"></a>
1475
+ <a name="method-i-getAttr"></a>
1410
1476
 
1411
1477
  <div class="method-heading">
1412
1478
 
@@ -1429,23 +1495,23 @@ provided by <em>scenarioIdx</em>.
1429
1495
  <div class="method-source-code"
1430
1496
  id="get-ttr-source">
1431
1497
  <pre>
1432
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 361</span>
1433
- 361: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttr</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1434
- 362: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
1435
- 363: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1436
- 364: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1437
- 365: <span class="ruby-ivar">@id</span>
1438
- 366: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1439
- 367: <span class="ruby-ivar">@name</span>
1440
- 368: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1441
- 369: <span class="ruby-ivar">@sequenceNo</span>
1442
- 370: <span class="ruby-keyword kw">else</span>
1443
- 371: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
1444
- 372: <span class="ruby-keyword kw">end</span>
1445
- 373: <span class="ruby-keyword kw">else</span>
1446
- 374: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
1447
- 375: <span class="ruby-keyword kw">end</span>
1448
- 376: <span class="ruby-keyword kw">end</span></pre>
1498
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 373</span>
1499
+ 373: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttr</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1500
+ 374: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
1501
+ 375: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1502
+ 376: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1503
+ 377: <span class="ruby-ivar">@id</span>
1504
+ 378: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1505
+ 379: <span class="ruby-ivar">@name</span>
1506
+ 380: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1507
+ 381: <span class="ruby-ivar">@sequenceNo</span>
1508
+ 382: <span class="ruby-keyword kw">else</span>
1509
+ 383: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
1510
+ 384: <span class="ruby-keyword kw">end</span>
1511
+ 385: <span class="ruby-keyword kw">else</span>
1512
+ 386: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
1513
+ 387: <span class="ruby-keyword kw">end</span>
1514
+ 388: <span class="ruby-keyword kw">end</span></pre>
1449
1515
  </div>
1450
1516
 
1451
1517
  </div>
@@ -1457,7 +1523,7 @@ provided by <em>scenarioIdx</em>.
1457
1523
 
1458
1524
 
1459
1525
  <div id="get-ttribute-method" class="method-detail ">
1460
- <a name="M000969"></a>
1526
+ <a name="method-i-getAttribute"></a>
1461
1527
 
1462
1528
  <div class="method-heading">
1463
1529
 
@@ -1479,20 +1545,20 @@ href="AttributeBase.html">AttributeBase</a> object.
1479
1545
  <div class="method-source-code"
1480
1546
  id="get-ttribute-source">
1481
1547
  <pre>
1482
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 380</span>
1483
- 380: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttribute</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1484
- 381: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1485
- 382: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1486
- 383: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@id</span>)
1487
- 384: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1488
- 385: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@name</span>)
1489
- 386: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1490
- 387: <span class="ruby-constant">FixnumAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@sequenceNo</span>)
1491
- 388: <span class="ruby-keyword kw">else</span>
1492
- 389: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>] <span class="ruby-operator">||</span>
1493
- 390: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
1494
- 391: <span class="ruby-keyword kw">end</span>
1495
- 392: <span class="ruby-keyword kw">end</span></pre>
1548
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 392</span>
1549
+ 392: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttribute</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1550
+ 393: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1551
+ 394: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1552
+ 395: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">fullId</span>)
1553
+ 396: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1554
+ 397: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@name</span>)
1555
+ 398: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1556
+ 399: <span class="ruby-constant">FixnumAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@sequenceNo</span>)
1557
+ 400: <span class="ruby-keyword kw">else</span>
1558
+ 401: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>] <span class="ruby-operator">||</span>
1559
+ 402: (<span class="ruby-identifier">scenarioIdx</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>])
1560
+ 403: <span class="ruby-keyword kw">end</span>
1561
+ 404: <span class="ruby-keyword kw">end</span></pre>
1496
1562
  </div>
1497
1563
 
1498
1564
  </div>
@@ -1504,7 +1570,7 @@ href="AttributeBase.html">AttributeBase</a> object.
1504
1570
 
1505
1571
 
1506
1572
  <div id="get-ndicies-method" class="method-detail ">
1507
- <a name="M000959"></a>
1573
+ <a name="method-i-getIndicies"></a>
1508
1574
 
1509
1575
  <div class="method-heading">
1510
1576
 
@@ -1527,17 +1593,17 @@ of Fixnums.
1527
1593
  <div class="method-source-code"
1528
1594
  id="get-ndicies-source">
1529
1595
  <pre>
1530
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 271</span>
1531
- 271: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getIndicies</span>
1532
- 272: <span class="ruby-identifier">idcs</span> = []
1533
- 273: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1534
- 274: <span class="ruby-keyword kw">begin</span>
1535
- 275: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1536
- 276: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">p</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'index'</span>))
1537
- 277: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1538
- 278: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1539
- 279: <span class="ruby-identifier">idcs</span>
1540
- 280: <span class="ruby-keyword kw">end</span></pre>
1596
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 283</span>
1597
+ 283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getIndicies</span>
1598
+ 284: <span class="ruby-identifier">idcs</span> = []
1599
+ 285: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1600
+ 286: <span class="ruby-keyword kw">begin</span>
1601
+ 287: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1602
+ 288: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">p</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'index'</span>))
1603
+ 289: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1604
+ 290: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1605
+ 291: <span class="ruby-identifier">idcs</span>
1606
+ 292: <span class="ruby-keyword kw">end</span></pre>
1541
1607
  </div>
1542
1608
 
1543
1609
  </div>
@@ -1549,7 +1615,7 @@ of Fixnums.
1549
1615
 
1550
1616
 
1551
1617
  <div id="get-ndicies-method" class="method-detail ">
1552
- <a name="M000958"></a>
1618
+ <a name="method-i-getWBSIndicies"></a>
1553
1619
 
1554
1620
  <div class="method-heading">
1555
1621
 
@@ -1572,18 +1638,18 @@ with an index for each level from the root to this node.
1572
1638
  <div class="method-source-code"
1573
1639
  id="get-ndicies-source">
1574
1640
  <pre>
1575
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 257</span>
1576
- 257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
1577
- 258: <span class="ruby-identifier">idcs</span> = []
1578
- 259: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1579
- 260: <span class="ruby-keyword kw">begin</span>
1580
- 261: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1581
- 262: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">parent</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
1582
- 263: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
1583
- 264: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1584
- 265: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1585
- 266: <span class="ruby-identifier">idcs</span>
1586
- 267: <span class="ruby-keyword kw">end</span></pre>
1641
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 269</span>
1642
+ 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
1643
+ 270: <span class="ruby-identifier">idcs</span> = []
1644
+ 271: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1645
+ 272: <span class="ruby-keyword kw">begin</span>
1646
+ 273: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1647
+ 274: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">parent</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
1648
+ 275: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
1649
+ 276: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1650
+ 277: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1651
+ 278: <span class="ruby-identifier">idcs</span>
1652
+ 279: <span class="ruby-keyword kw">end</span></pre>
1587
1653
  </div>
1588
1654
 
1589
1655
  </div>
@@ -1595,7 +1661,7 @@ with an index for each level from the root to this node.
1595
1661
 
1596
1662
 
1597
1663
  <div id="inherit-ttributes-method" class="method-detail ">
1598
- <a name="M000950"></a>
1664
+ <a name="method-i-inheritAttributes"></a>
1599
1665
 
1600
1666
  <div class="method-heading">
1601
1667
 
@@ -1617,53 +1683,53 @@ href="Project.html">Project</a>.
1617
1683
  <div class="method-source-code"
1618
1684
  id="inherit-ttributes-source">
1619
1685
  <pre>
1620
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 102</span>
1621
- 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
1622
- 103: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
1623
- 104: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1624
- 105: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1625
- 106:
1626
- 107: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
1627
- 108: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1628
- 109: <span class="ruby-comment cmt"># Inherit values from parent property</span>
1629
- 110: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">aId</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">aId</span>)
1630
- 111: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">aId</span>))
1631
- 112: <span class="ruby-keyword kw">end</span>
1632
- 113: <span class="ruby-keyword kw">else</span>
1633
- 114: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1634
- 115: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1635
- 116: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
1636
- 117: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>])
1637
- 118: <span class="ruby-keyword kw">end</span>
1638
- 119: <span class="ruby-keyword kw">end</span>
1639
- 120: <span class="ruby-keyword kw">end</span>
1640
- 121: <span class="ruby-keyword kw">end</span>
1641
- 122:
1642
- 123: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1643
- 124: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1644
- 125: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1645
- 126:
1646
- 127: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1647
- 128: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1648
- 129: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
1649
- 130: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
1650
- 131: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1651
- 132: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1652
- 133: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
1653
- 134: <span class="ruby-keyword kw">end</span>
1654
- 135: <span class="ruby-keyword kw">else</span>
1655
- 136: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1656
- 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1657
- 138: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&amp;&amp;</span>
1658
- 139: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
1659
- 140: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1660
- 141: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
1661
- 142: <span class="ruby-keyword kw">end</span>
1662
- 143: <span class="ruby-keyword kw">end</span>
1663
- 144: <span class="ruby-keyword kw">end</span>
1664
- 145: <span class="ruby-keyword kw">end</span>
1665
- 146: <span class="ruby-keyword kw">end</span>
1666
- 147: <span class="ruby-keyword kw">end</span></pre>
1686
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 114</span>
1687
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
1688
+ 115: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
1689
+ 116: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1690
+ 117: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1691
+ 118:
1692
+ 119: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
1693
+ 120: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1694
+ 121: <span class="ruby-comment cmt"># Inherit values from parent property</span>
1695
+ 122: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">aId</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">aId</span>)
1696
+ 123: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">aId</span>))
1697
+ 124: <span class="ruby-keyword kw">end</span>
1698
+ 125: <span class="ruby-keyword kw">else</span>
1699
+ 126: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1700
+ 127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1701
+ 128: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
1702
+ 129: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>])
1703
+ 130: <span class="ruby-keyword kw">end</span>
1704
+ 131: <span class="ruby-keyword kw">end</span>
1705
+ 132: <span class="ruby-keyword kw">end</span>
1706
+ 133: <span class="ruby-keyword kw">end</span>
1707
+ 134:
1708
+ 135: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1709
+ 136: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1710
+ 137: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1711
+ 138:
1712
+ 139: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1713
+ 140: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1714
+ 141: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
1715
+ 142: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
1716
+ 143: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1717
+ 144: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1718
+ 145: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
1719
+ 146: <span class="ruby-keyword kw">end</span>
1720
+ 147: <span class="ruby-keyword kw">else</span>
1721
+ 148: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1722
+ 149: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1723
+ 150: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&amp;&amp;</span>
1724
+ 151: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
1725
+ 152: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1726
+ 153: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
1727
+ 154: <span class="ruby-keyword kw">end</span>
1728
+ 155: <span class="ruby-keyword kw">end</span>
1729
+ 156: <span class="ruby-keyword kw">end</span>
1730
+ 157: <span class="ruby-keyword kw">end</span>
1731
+ 158: <span class="ruby-keyword kw">end</span>
1732
+ 159: <span class="ruby-keyword kw">end</span></pre>
1667
1733
  </div>
1668
1734
 
1669
1735
  </div>
@@ -1675,7 +1741,7 @@ href="Project.html">Project</a>.
1675
1741
 
1676
1742
 
1677
1743
  <div id="inherit-ttributes-rom-cenario-method" class="method-detail ">
1678
- <a name="M000951"></a>
1744
+ <a name="method-i-inheritAttributesFromScenario"></a>
1679
1745
 
1680
1746
  <div class="method-heading">
1681
1747
 
@@ -1697,45 +1763,45 @@ for attributes that don&#8217;t have a user-specified value already.
1697
1763
  <div class="method-source-code"
1698
1764
  id="inherit-ttributes-rom-cenario-source">
1699
1765
  <pre>
1700
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 151</span>
1701
- 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1702
- 152: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1703
- 153: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1704
- 154: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span>
1705
- 155:
1706
- 156: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
1707
- 157: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
1708
- 158: <span class="ruby-comment cmt"># the tree.</span>
1709
- 159: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1710
- 160: <span class="ruby-identifier">scenario</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenarioIdx</span>)
1711
- 161: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
1712
- 162: <span class="ruby-identifier">parentScenarioIdx</span> = <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1713
- 163: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
1714
- 164: <span class="ruby-comment cmt"># we don't have a provided value in this scenario. Inherited values</span>
1715
- 165: <span class="ruby-comment cmt"># will be overwritten</span>
1716
- 166: <span class="ruby-identifier">parPro</span> = <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)
1717
- 167: <span class="ruby-identifier">parInh</span> = <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)
1718
- 168: <span class="ruby-identifier">chiPro</span> = <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1719
- 169: <span class="ruby-identifier">chiInh</span> = <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1720
- 170: <span class="ruby-comment cmt"># Parent/Child inheritance matrix</span>
1721
- 171: <span class="ruby-comment cmt"># P: Provided p: not provided</span>
1722
- 172: <span class="ruby-comment cmt"># I: Inherited i: not inherited</span>
1723
- 173: <span class="ruby-comment cmt"># -: Illegal N: Don't copy Y: Copy</span>
1724
- 174: <span class="ruby-comment cmt">#</span>
1725
- 175: <span class="ruby-comment cmt"># parent</span>
1726
- 176: <span class="ruby-comment cmt"># PI Pi pI pi</span>
1727
- 177: <span class="ruby-comment cmt"># child PI - - - -</span>
1728
- 178: <span class="ruby-comment cmt"># Pi - N N N</span>
1729
- 179: <span class="ruby-comment cmt"># pI - Y N N</span>
1730
- 180: <span class="ruby-comment cmt"># pi - Y Y N</span>
1731
- 181: <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">parPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">parInh</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">chiPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">chiInh</span>)) <span class="ruby-operator">||</span>
1732
- 182: (<span class="ruby-identifier">parPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">chiPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">chiInh</span>)
1733
- 183: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
1734
- 184: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">parentScenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">deep_clone</span>
1735
- 185: <span class="ruby-keyword kw">end</span>
1736
- 186: <span class="ruby-keyword kw">end</span>
1737
- 187: <span class="ruby-keyword kw">end</span>
1738
- 188: <span class="ruby-keyword kw">end</span></pre>
1766
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 163</span>
1767
+ 163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1768
+ 164: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1769
+ 165: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1770
+ 166: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span>
1771
+ 167:
1772
+ 168: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
1773
+ 169: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
1774
+ 170: <span class="ruby-comment cmt"># the tree.</span>
1775
+ 171: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1776
+ 172: <span class="ruby-identifier">scenario</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenarioIdx</span>)
1777
+ 173: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
1778
+ 174: <span class="ruby-identifier">parentScenarioIdx</span> = <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1779
+ 175: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
1780
+ 176: <span class="ruby-comment cmt"># we don't have a provided value in this scenario. Inherited values</span>
1781
+ 177: <span class="ruby-comment cmt"># will be overwritten</span>
1782
+ 178: <span class="ruby-identifier">parPro</span> = <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)
1783
+ 179: <span class="ruby-identifier">parInh</span> = <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)
1784
+ 180: <span class="ruby-identifier">chiPro</span> = <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1785
+ 181: <span class="ruby-identifier">chiInh</span> = <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1786
+ 182: <span class="ruby-comment cmt"># Parent/Child inheritance matrix</span>
1787
+ 183: <span class="ruby-comment cmt"># P: Provided p: not provided</span>
1788
+ 184: <span class="ruby-comment cmt"># I: Inherited i: not inherited</span>
1789
+ 185: <span class="ruby-comment cmt"># -: Illegal N: Don't copy Y: Copy</span>
1790
+ 186: <span class="ruby-comment cmt">#</span>
1791
+ 187: <span class="ruby-comment cmt"># parent</span>
1792
+ 188: <span class="ruby-comment cmt"># PI Pi pI pi</span>
1793
+ 189: <span class="ruby-comment cmt"># child PI - - - -</span>
1794
+ 190: <span class="ruby-comment cmt"># Pi - N N N</span>
1795
+ 191: <span class="ruby-comment cmt"># pI - Y N N</span>
1796
+ 192: <span class="ruby-comment cmt"># pi - Y Y N</span>
1797
+ 193: <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">parPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">parInh</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">chiPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">chiInh</span>)) <span class="ruby-operator">||</span>
1798
+ 194: (<span class="ruby-identifier">parPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">chiPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">chiInh</span>)
1799
+ 195: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
1800
+ 196: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">parentScenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">deep_clone</span>
1801
+ 197: <span class="ruby-keyword kw">end</span>
1802
+ 198: <span class="ruby-keyword kw">end</span>
1803
+ 199: <span class="ruby-keyword kw">end</span>
1804
+ 200: <span class="ruby-keyword kw">end</span></pre>
1739
1805
  </div>
1740
1806
 
1741
1807
  </div>
@@ -1747,7 +1813,7 @@ for attributes that don&#8217;t have a user-specified value already.
1747
1813
 
1748
1814
 
1749
1815
  <div id="inherited-method" class="method-detail ">
1750
- <a name="M000974"></a>
1816
+ <a name="method-i-inherited"></a>
1751
1817
 
1752
1818
  <div class="method-heading">
1753
1819
 
@@ -1770,16 +1836,16 @@ scenario.
1770
1836
  <div class="method-source-code"
1771
1837
  id="inherited-source">
1772
1838
  <pre>
1773
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 442</span>
1774
- 442: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1775
- 443: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1776
- 444: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1777
- 445: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1778
- 446: <span class="ruby-keyword kw">else</span>
1779
- 447: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1780
- 448: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1781
- 449: <span class="ruby-keyword kw">end</span>
1782
- 450: <span class="ruby-keyword kw">end</span></pre>
1839
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 454</span>
1840
+ 454: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1841
+ 455: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1842
+ 456: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1843
+ 457: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1844
+ 458: <span class="ruby-keyword kw">else</span>
1845
+ 459: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1846
+ 460: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1847
+ 461: <span class="ruby-keyword kw">end</span>
1848
+ 462: <span class="ruby-keyword kw">end</span></pre>
1783
1849
  </div>
1784
1850
 
1785
1851
  </div>
@@ -1791,7 +1857,7 @@ scenario.
1791
1857
 
1792
1858
 
1793
1859
  <div id="is-hild-f--method" class="method-detail ">
1794
- <a name="M000961"></a>
1860
+ <a name="method-i-isChildOf%3F"></a>
1795
1861
 
1796
1862
  <div class="method-heading">
1797
1863
 
@@ -1813,14 +1879,14 @@ Find out if this property is a direct or indirect child of
1813
1879
  <div class="method-source-code"
1814
1880
  id="is-hild-f--source">
1815
1881
  <pre>
1816
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 291</span>
1817
- 291: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
1818
- 292: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
1819
- 293: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1820
- 294: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ancestor</span>)
1821
- 295: <span class="ruby-keyword kw">end</span>
1822
- 296: <span class="ruby-keyword kw">false</span>
1823
- 297: <span class="ruby-keyword kw">end</span></pre>
1882
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 303</span>
1883
+ 303: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
1884
+ 304: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
1885
+ 305: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1886
+ 306: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ancestor</span>)
1887
+ 307: <span class="ruby-keyword kw">end</span>
1888
+ 308: <span class="ruby-keyword kw">false</span>
1889
+ 309: <span class="ruby-keyword kw">end</span></pre>
1824
1890
  </div>
1825
1891
 
1826
1892
  </div>
@@ -1832,7 +1898,7 @@ Find out if this property is a direct or indirect child of
1832
1898
 
1833
1899
 
1834
1900
  <div id="leaf--method" class="method-detail ">
1835
- <a name="M000962"></a>
1901
+ <a name="method-i-leaf%3F"></a>
1836
1902
 
1837
1903
  <div class="method-heading">
1838
1904
 
@@ -1853,10 +1919,10 @@ Return true if the node is a leaf node (has no children).
1853
1919
  <div class="method-source-code"
1854
1920
  id="leaf--source">
1855
1921
  <pre>
1856
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 300</span>
1857
- 300: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
1858
- 301: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1859
- 302: <span class="ruby-keyword kw">end</span></pre>
1922
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 312</span>
1923
+ 312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
1924
+ 313: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1925
+ 314: <span class="ruby-keyword kw">end</span></pre>
1860
1926
  </div>
1861
1927
 
1862
1928
  </div>
@@ -1868,7 +1934,7 @@ Return true if the node is a leaf node (has no children).
1868
1934
 
1869
1935
 
1870
1936
  <div id="level-method" class="method-detail ">
1871
- <a name="M000957"></a>
1937
+ <a name="method-i-level"></a>
1872
1938
 
1873
1939
  <div class="method-heading">
1874
1940
 
@@ -1891,17 +1957,17 @@ have to be calculated each time the function is called.
1891
1957
  <div class="method-source-code"
1892
1958
  id="level-source">
1893
1959
  <pre>
1894
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 243</span>
1895
- 243: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
1896
- 244: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@level</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
1897
- 245:
1898
- 246: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1899
- 247: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
1900
- 248: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
1901
- 249: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1902
- 250: <span class="ruby-keyword kw">end</span>
1903
- 251: <span class="ruby-ivar">@level</span>
1904
- 252: <span class="ruby-keyword kw">end</span></pre>
1960
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 255</span>
1961
+ 255: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
1962
+ 256: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@level</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
1963
+ 257:
1964
+ 258: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1965
+ 259: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
1966
+ 260: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
1967
+ 261: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1968
+ 262: <span class="ruby-keyword kw">end</span>
1969
+ 263: <span class="ruby-ivar">@level</span>
1970
+ 264: <span class="ruby-keyword kw">end</span></pre>
1905
1971
  </div>
1906
1972
 
1907
1973
  </div>
@@ -1913,7 +1979,7 @@ have to be calculated each time the function is called.
1913
1979
 
1914
1980
 
1915
1981
  <div id="level-eq-o-method" class="method-detail ">
1916
- <a name="M000949"></a>
1982
+ <a name="method-i-levelSeqNo"></a>
1917
1983
 
1918
1984
  <div class="method-heading">
1919
1985
 
@@ -1934,10 +2000,10 @@ Return the index of the child <em>node</em>.
1934
2000
  <div class="method-source-code"
1935
2001
  id="level-eq-o-source">
1936
2002
  <pre>
1937
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 97</span>
1938
- 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
1939
- 98: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">node</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1940
- 99: <span class="ruby-keyword kw">end</span></pre>
2003
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 109</span>
2004
+ 109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
2005
+ 110: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">node</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
2006
+ 111: <span class="ruby-keyword kw">end</span></pre>
1941
2007
  </div>
1942
2008
 
1943
2009
  </div>
@@ -1949,7 +2015,7 @@ Return the index of the child <em>node</em>.
1949
2015
 
1950
2016
 
1951
2017
  <div id="method-missing-method" class="method-detail ">
1952
- <a name="M000981"></a>
2018
+ <a name="method-i-method_missing"></a>
1953
2019
 
1954
2020
  <div class="method-heading">
1955
2021
 
@@ -1974,10 +2040,10 @@ href="Scenario.html">Scenario</a> class.
1974
2040
  <div class="method-source-code"
1975
2041
  id="method-missing-source">
1976
2042
  <pre>
1977
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 533</span>
1978
- 533: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, *<span class="ruby-identifier">args</span>)
1979
- 534: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">method</span>(<span class="ruby-identifier">func</span>).<span class="ruby-identifier">call</span>(*<span class="ruby-identifier">args</span>)
1980
- 535: <span class="ruby-keyword kw">end</span></pre>
2043
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 561</span>
2044
+ 561: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, *<span class="ruby-identifier">args</span>)
2045
+ 562: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">method</span>(<span class="ruby-identifier">func</span>).<span class="ruby-identifier">call</span>(*<span class="ruby-identifier">args</span>)
2046
+ 563: <span class="ruby-keyword kw">end</span></pre>
1981
2047
  </div>
1982
2048
 
1983
2049
  </div>
@@ -1989,7 +2055,7 @@ href="Scenario.html">Scenario</a> class.
1989
2055
 
1990
2056
 
1991
2057
  <div id="modified--method" class="method-detail ">
1992
- <a name="M000975"></a>
2058
+ <a name="method-i-modified%3F"></a>
1993
2059
 
1994
2060
  <div class="method-heading">
1995
2061
 
@@ -2008,17 +2074,17 @@ href="Scenario.html">Scenario</a> class.
2008
2074
  <div class="method-source-code"
2009
2075
  id="modified--source">
2010
2076
  <pre>
2011
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 452</span>
2012
- 452: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modified?</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
2013
- 453: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2014
- 454: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2015
- 455: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span>
2016
- 456: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
2017
- 457: <span class="ruby-keyword kw">else</span>
2018
- 458: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2019
- 459: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
2020
- 460: <span class="ruby-keyword kw">end</span>
2021
- 461: <span class="ruby-keyword kw">end</span></pre>
2077
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 464</span>
2078
+ 464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modified?</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
2079
+ 465: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2080
+ 466: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2081
+ 467: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span>
2082
+ 468: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
2083
+ 469: <span class="ruby-keyword kw">else</span>
2084
+ 470: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2085
+ 471: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
2086
+ 472: <span class="ruby-keyword kw">end</span>
2087
+ 473: <span class="ruby-keyword kw">end</span></pre>
2022
2088
  </div>
2023
2089
 
2024
2090
  </div>
@@ -2030,7 +2096,7 @@ href="Scenario.html">Scenario</a> class.
2030
2096
 
2031
2097
 
2032
2098
  <div id="provided-method" class="method-detail ">
2033
- <a name="M000973"></a>
2099
+ <a name="method-i-provided"></a>
2034
2100
 
2035
2101
  <div class="method-heading">
2036
2102
 
@@ -2052,16 +2118,16 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2052
2118
  <div class="method-source-code"
2053
2119
  id="provided-source">
2054
2120
  <pre>
2055
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 430</span>
2056
- 430: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
2057
- 431: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2058
- 432: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2059
- 433: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2060
- 434: <span class="ruby-keyword kw">else</span>
2061
- 435: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2062
- 436: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2063
- 437: <span class="ruby-keyword kw">end</span>
2064
- 438: <span class="ruby-keyword kw">end</span></pre>
2121
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 442</span>
2122
+ 442: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
2123
+ 443: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2124
+ 444: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2125
+ 445: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2126
+ 446: <span class="ruby-keyword kw">else</span>
2127
+ 447: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2128
+ 448: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2129
+ 449: <span class="ruby-keyword kw">end</span>
2130
+ 450: <span class="ruby-keyword kw">end</span></pre>
2065
2131
  </div>
2066
2132
 
2067
2133
  </div>
@@ -2073,7 +2139,7 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2073
2139
 
2074
2140
 
2075
2141
  <div id="query-alert-method" class="method-detail ">
2076
- <a name="M000976"></a>
2142
+ <a name="method-i-query_alert"></a>
2077
2143
 
2078
2144
  <div class="method-heading">
2079
2145
 
@@ -2092,13 +2158,13 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2092
2158
  <div class="method-source-code"
2093
2159
  id="query-alert-source">
2094
2160
  <pre>
2095
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 463</span>
2096
- 463: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alert</span>(<span class="ruby-identifier">query</span>)
2097
- 464: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2098
- 465: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">alert</span> =
2099
- 466: <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>)
2100
- 467: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">alertLevelName</span>(<span class="ruby-identifier">alert</span>)
2101
- 468: <span class="ruby-keyword kw">end</span></pre>
2161
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 475</span>
2162
+ 475: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alert</span>(<span class="ruby-identifier">query</span>)
2163
+ 476: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2164
+ 477: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">alert</span> =
2165
+ 478: <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>)
2166
+ 479: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">alertLevelName</span>(<span class="ruby-identifier">alert</span>)
2167
+ 480: <span class="ruby-keyword kw">end</span></pre>
2102
2168
  </div>
2103
2169
 
2104
2170
  </div>
@@ -2109,12 +2175,12 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2109
2175
  </div>
2110
2176
 
2111
2177
 
2112
- <div id="query-alertmessage-method" class="method-detail ">
2113
- <a name="M000978"></a>
2178
+ <div id="query-alertmessages-method" class="method-detail ">
2179
+ <a name="method-i-query_alertmessages"></a>
2114
2180
 
2115
2181
  <div class="method-heading">
2116
2182
 
2117
- <span class="method-name">query_alertmessage</span><span
2183
+ <span class="method-name">query_alertmessages</span><span
2118
2184
  class="method-args">(query)</span>
2119
2185
  <span class="method-click-advice">click to toggle source</span>
2120
2186
 
@@ -2127,12 +2193,14 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2127
2193
 
2128
2194
 
2129
2195
  <div class="method-source-code"
2130
- id="query-alertmessage-source">
2196
+ id="query-alertmessages-source">
2131
2197
  <pre>
2132
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 474</span>
2133
- 474: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertmessage</span>(<span class="ruby-identifier">query</span>)
2134
- 475: <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
2135
- 476: <span class="ruby-keyword kw">end</span></pre>
2198
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 482</span>
2199
+ 482: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertmessages</span>(<span class="ruby-identifier">query</span>)
2200
+ 483: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">alertEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">1</span>,
2201
+ 484: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2202
+ 485: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
2203
+ 486: <span class="ruby-keyword kw">end</span></pre>
2136
2204
  </div>
2137
2205
 
2138
2206
  </div>
@@ -2143,12 +2211,12 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2143
2211
  </div>
2144
2212
 
2145
2213
 
2146
- <div id="query-alertsummary-method" class="method-detail ">
2147
- <a name="M000977"></a>
2214
+ <div id="query-alertsummaries-method" class="method-detail ">
2215
+ <a name="method-i-query_alertsummaries"></a>
2148
2216
 
2149
2217
  <div class="method-heading">
2150
2218
 
2151
- <span class="method-name">query_alertsummary</span><span
2219
+ <span class="method-name">query_alertsummaries</span><span
2152
2220
  class="method-args">(query)</span>
2153
2221
  <span class="method-click-advice">click to toggle source</span>
2154
2222
 
@@ -2161,12 +2229,14 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2161
2229
 
2162
2230
 
2163
2231
  <div class="method-source-code"
2164
- id="query-alertsummary-source">
2232
+ id="query-alertsummaries-source">
2165
2233
  <pre>
2166
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 470</span>
2167
- 470: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertsummary</span>(<span class="ruby-identifier">query</span>)
2168
- 471: <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
2169
- 472: <span class="ruby-keyword kw">end</span></pre>
2234
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 488</span>
2235
+ 488: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertsummaries</span>(<span class="ruby-identifier">query</span>)
2236
+ 489: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">alertEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">1</span>,
2237
+ 490: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2238
+ 491: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
2239
+ 492: <span class="ruby-keyword kw">end</span></pre>
2170
2240
  </div>
2171
2241
 
2172
2242
  </div>
@@ -2178,7 +2248,7 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2178
2248
 
2179
2249
 
2180
2250
  <div id="query-alerttrend-method" class="method-detail ">
2181
- <a name="M000979"></a>
2251
+ <a name="method-i-query_alerttrend"></a>
2182
2252
 
2183
2253
  <div class="method-heading">
2184
2254
 
@@ -2197,22 +2267,22 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2197
2267
  <div class="method-source-code"
2198
2268
  id="query-alerttrend-source">
2199
2269
  <pre>
2200
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 478</span>
2201
- 478: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alerttrend</span>(<span class="ruby-identifier">query</span>)
2202
- 479: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2203
- 480: <span class="ruby-identifier">startAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>)
2204
- 481: <span class="ruby-identifier">endAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>)
2205
- 482: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">endAlert</span>
2206
- 483: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">0</span>
2207
- 484: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Up'</span>
2208
- 485: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">endAlert</span>
2209
- 486: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">2</span>
2210
- 487: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Down'</span>
2211
- 488: <span class="ruby-keyword kw">else</span>
2212
- 489: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">1</span>
2213
- 490: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Flat'</span>
2214
- 491: <span class="ruby-keyword kw">end</span>
2215
- 492: <span class="ruby-keyword kw">end</span></pre>
2270
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 506</span>
2271
+ 506: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alerttrend</span>(<span class="ruby-identifier">query</span>)
2272
+ 507: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2273
+ 508: <span class="ruby-identifier">startAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>)
2274
+ 509: <span class="ruby-identifier">endAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>)
2275
+ 510: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">endAlert</span>
2276
+ 511: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">0</span>
2277
+ 512: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Up'</span>
2278
+ 513: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">endAlert</span>
2279
+ 514: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">2</span>
2280
+ 515: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Down'</span>
2281
+ 516: <span class="ruby-keyword kw">else</span>
2282
+ 517: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">1</span>
2283
+ 518: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Flat'</span>
2284
+ 519: <span class="ruby-keyword kw">end</span>
2285
+ 520: <span class="ruby-keyword kw">end</span></pre>
2216
2286
  </div>
2217
2287
 
2218
2288
  </div>
@@ -2223,36 +2293,32 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2223
2293
  </div>
2224
2294
 
2225
2295
 
2226
- <div id="root-method" class="method-detail ">
2227
- <a name="M000964"></a>
2296
+ <div id="query-journalmessages-method" class="method-detail ">
2297
+ <a name="method-i-query_journalmessages"></a>
2228
2298
 
2229
2299
  <div class="method-heading">
2230
2300
 
2231
- <span class="method-name">root</span><span
2232
- class="method-args">()</span>
2301
+ <span class="method-name">query_journalmessages</span><span
2302
+ class="method-args">(query)</span>
2233
2303
  <span class="method-click-advice">click to toggle source</span>
2234
2304
 
2235
2305
  </div>
2236
2306
 
2237
2307
  <div class="method-description">
2238
2308
 
2239
- <p>
2240
- Return the top-level node for this node.
2241
- </p>
2309
+
2242
2310
 
2243
2311
 
2244
2312
 
2245
2313
  <div class="method-source-code"
2246
- id="root-source">
2314
+ id="query-journalmessages-source">
2247
2315
  <pre>
2248
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 310</span>
2249
- 310: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
2250
- 311: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
2251
- 312: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2252
- 313: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2253
- 314: <span class="ruby-keyword kw">end</span>
2254
- 315: <span class="ruby-identifier">n</span>
2255
- 316: <span class="ruby-keyword kw">end</span></pre>
2316
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 494</span>
2317
+ 494: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_journalmessages</span>(<span class="ruby-identifier">query</span>)
2318
+ 495: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
2319
+ 496: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2320
+ 497: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
2321
+ 498: <span class="ruby-keyword kw">end</span></pre>
2256
2322
  </div>
2257
2323
 
2258
2324
  </div>
@@ -2263,13 +2329,49 @@ Return the top-level node for this node.
2263
2329
  </div>
2264
2330
 
2265
2331
 
2266
- <div id="set-method" class="method-detail ">
2267
- <a name="M000970"></a>
2332
+ <div id="query-journalsummaries-method" class="method-detail ">
2333
+ <a name="method-i-query_journalsummaries"></a>
2268
2334
 
2269
2335
  <div class="method-heading">
2270
2336
 
2271
- <span class="method-name">set</span><span
2272
- class="method-args">(attributeId, value)</span>
2337
+ <span class="method-name">query_journalsummaries</span><span
2338
+ class="method-args">(query)</span>
2339
+ <span class="method-click-advice">click to toggle source</span>
2340
+
2341
+ </div>
2342
+
2343
+ <div class="method-description">
2344
+
2345
+
2346
+
2347
+
2348
+
2349
+ <div class="method-source-code"
2350
+ id="query-journalsummaries-source">
2351
+ <pre>
2352
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 500</span>
2353
+ 500: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_journalsummaries</span>(<span class="ruby-identifier">query</span>)
2354
+ 501: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
2355
+ 502: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2356
+ 503: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
2357
+ 504: <span class="ruby-keyword kw">end</span></pre>
2358
+ </div>
2359
+
2360
+ </div>
2361
+
2362
+
2363
+
2364
+
2365
+ </div>
2366
+
2367
+
2368
+ <div id="restore-ttributes-method" class="method-detail ">
2369
+ <a name="method-i-restoreAttributes"></a>
2370
+
2371
+ <div class="method-heading">
2372
+
2373
+ <span class="method-name">restoreAttributes</span><span
2374
+ class="method-args">(backup)</span>
2273
2375
  <span class="method-click-advice">click to toggle source</span>
2274
2376
 
2275
2377
  </div>
@@ -2277,23 +2379,19 @@ Return the top-level node for this node.
2277
2379
  <div class="method-description">
2278
2380
 
2279
2381
  <p>
2280
- Set the non-scenario-specific attribute with ID <em>attributeId</em> to
2281
- <em>value</em>. In case the attribute does not exist, an exception is
2282
- raised.
2382
+ Restore the attributes to a previously saved state. <em>backup</em> is an
2383
+ Array generated by backupAttributes().
2283
2384
  </p>
2284
2385
 
2285
2386
 
2286
2387
 
2287
2388
  <div class="method-source-code"
2288
- id="set-source">
2389
+ id="restore-ttributes-source">
2289
2390
  <pre>
2290
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 396</span>
2291
- 396: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">value</span>)
2292
- 397: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
2293
- 398: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
2294
- 399: <span class="ruby-keyword kw">end</span>
2295
- 400: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
2296
- 401: <span class="ruby-keyword kw">end</span></pre>
2391
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 104</span>
2392
+ 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restoreAttributes</span>(<span class="ruby-identifier">backup</span>)
2393
+ 105: <span class="ruby-ivar">@attributes</span>, <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-identifier">backup</span>
2394
+ 106: <span class="ruby-keyword kw">end</span></pre>
2297
2395
  </div>
2298
2396
 
2299
2397
  </div>
@@ -2304,19 +2402,53 @@ raised.
2304
2402
  </div>
2305
2403
 
2306
2404
 
2307
- </div>
2308
-
2309
- <div id="private-instance-method-details" class="method-section section">
2310
- <h3 class="section-header">Private Instance Methods</h3>
2405
+ <div id="root-method" class="method-detail ">
2406
+ <a name="method-i-root"></a>
2407
+
2408
+ <div class="method-heading">
2409
+
2410
+ <span class="method-name">root</span><span
2411
+ class="method-args">()</span>
2412
+ <span class="method-click-advice">click to toggle source</span>
2413
+
2414
+ </div>
2415
+
2416
+ <div class="method-description">
2417
+
2418
+ <p>
2419
+ Return the top-level node for this node.
2420
+ </p>
2421
+
2422
+
2423
+
2424
+ <div class="method-source-code"
2425
+ id="root-source">
2426
+ <pre>
2427
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 322</span>
2428
+ 322: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
2429
+ 323: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
2430
+ 324: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2431
+ 325: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2432
+ 326: <span class="ruby-keyword kw">end</span>
2433
+ 327: <span class="ruby-identifier">n</span>
2434
+ 328: <span class="ruby-keyword kw">end</span></pre>
2435
+ </div>
2436
+
2437
+ </div>
2438
+
2439
+
2440
+
2441
+
2442
+ </div>
2311
2443
 
2312
2444
 
2313
- <div id="alert-essages-method" class="method-detail ">
2314
- <a name="M000982"></a>
2445
+ <div id="set-method" class="method-detail ">
2446
+ <a name="method-i-set"></a>
2315
2447
 
2316
2448
  <div class="method-heading">
2317
2449
 
2318
- <span class="method-name">alertMessages</span><span
2319
- class="method-args">(query, longVersion)</span>
2450
+ <span class="method-name">set</span><span
2451
+ class="method-args">(attributeId, value)</span>
2320
2452
  <span class="method-click-advice">click to toggle source</span>
2321
2453
 
2322
2454
  </div>
@@ -2324,57 +2456,23 @@ raised.
2324
2456
  <div class="method-description">
2325
2457
 
2326
2458
  <p>
2327
- Create a blog-style list of all alert messages that match the <a
2328
- href="Query.html">Query</a>.
2459
+ Set the non-scenario-specific attribute with ID <em>attributeId</em> to
2460
+ <em>value</em>. In case the attribute does not exist, an exception is
2461
+ raised.
2329
2462
  </p>
2330
2463
 
2331
2464
 
2332
2465
 
2333
2466
  <div class="method-source-code"
2334
- id="alert-essages-source">
2467
+ id="set-source">
2335
2468
  <pre>
2336
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 540</span>
2337
- 540: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">longVersion</span>)
2338
- 541: <span class="ruby-comment cmt"># The components of the message are either UTF-8 text or RichText. For</span>
2339
- 542: <span class="ruby-comment cmt"># the RichText components, we use the originally provided markup since</span>
2340
- 543: <span class="ruby-comment cmt"># we compose the result as RichText markup first.</span>
2341
- 544: <span class="ruby-identifier">rText</span> = <span class="ruby-value str">''</span>
2342
- 545: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
2343
- 546: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
2344
- 547: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;=== &lt;nowiki&gt;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">headline</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;&lt;/nowiki&gt; ===\n&quot;</span>
2345
- 548: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''Reported on #{entry.date.to_s(query.timeFormat)}'' &quot;</span>
2346
- 549: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">author</span>
2347
- 550: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''by &lt;nowiki&gt;#{entry.author.name}&lt;/nowiki&gt;''&quot;</span>
2348
- 551: <span class="ruby-keyword kw">end</span>
2349
- 552: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2350
- 553: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>
2351
- 554: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2352
- 555: <span class="ruby-keyword kw">end</span>
2353
- 556: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">longVersion</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>
2354
- 557: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2355
- 558: <span class="ruby-keyword kw">end</span>
2356
- 559: <span class="ruby-keyword kw">end</span>
2357
- 560: <span class="ruby-comment cmt"># Now convert the RichText markup String into RichTextIntermediate</span>
2358
- 561: <span class="ruby-comment cmt"># format.</span>
2359
- 562: <span class="ruby-identifier">handlers</span> = [
2360
- 563: <span class="ruby-constant">RTFNavigator</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>),
2361
- 564: <span class="ruby-constant">RTFQuery</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>),
2362
- 565: <span class="ruby-constant">RTFReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>)
2363
- 566: ]
2364
- 567: <span class="ruby-keyword kw">begin</span>
2365
- 568: <span class="ruby-identifier">rti</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rText</span>, <span class="ruby-identifier">handlers</span>).<span class="ruby-identifier">generateIntermediateFormat</span>
2366
- 569: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2367
- 570: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Error while processing Rich Text\n&quot;</span> <span class="ruby-operator">+</span>
2368
- 571: <span class="ruby-node">&quot;Line #{msg.lineNo}: #{msg.text}\n&quot;</span> <span class="ruby-operator">+</span>
2369
- 572: <span class="ruby-node">&quot;#{msg.line}&quot;</span>
2370
- 573: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2371
- 574: <span class="ruby-keyword kw">end</span>
2372
- 575: <span class="ruby-comment cmt"># No section numbers, please!</span>
2373
- 576: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
2374
- 577: <span class="ruby-comment cmt"># We use a special class to allow CSS formating.</span>
2375
- 578: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">cssClass</span> = <span class="ruby-value str">'tj_journal'</span>
2376
- 579: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rti</span>
2377
- 580: <span class="ruby-keyword kw">end</span></pre>
2469
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 408</span>
2470
+ 408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">value</span>)
2471
+ 409: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
2472
+ 410: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
2473
+ 411: <span class="ruby-keyword kw">end</span>
2474
+ 412: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
2475
+ 413: <span class="ruby-keyword kw">end</span></pre>
2378
2476
  </div>
2379
2477
 
2380
2478
  </div>
@@ -2385,8 +2483,14 @@ href="Query.html">Query</a>.
2385
2483
  </div>
2386
2484
 
2387
2485
 
2486
+ </div>
2487
+
2488
+ <div id="private-instance-method-details" class="method-section section">
2489
+ <h3 class="section-header">Private Instance Methods</h3>
2490
+
2491
+
2388
2492
  <div id="indent-method" class="method-detail ">
2389
- <a name="M000984"></a>
2493
+ <a name="method-i-indent"></a>
2390
2494
 
2391
2495
  <div class="method-heading">
2392
2496
 
@@ -2405,10 +2509,10 @@ href="Query.html">Query</a>.
2405
2509
  <div class="method-source-code"
2406
2510
  id="indent-source">
2407
2511
  <pre>
2408
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 592</span>
2409
- 592: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tag</span>, <span class="ruby-identifier">str</span>)
2410
- 593: <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-node">&quot;\n#{' ' * tag.length}&quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>
2411
- 594: <span class="ruby-keyword kw">end</span></pre>
2512
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 605</span>
2513
+ 605: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tag</span>, <span class="ruby-identifier">str</span>)
2514
+ 606: <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-node">&quot;\n#{' ' * tag.length}&quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>
2515
+ 607: <span class="ruby-keyword kw">end</span></pre>
2412
2516
  </div>
2413
2517
 
2414
2518
  </div>
@@ -2419,36 +2523,66 @@ href="Query.html">Query</a>.
2419
2523
  </div>
2420
2524
 
2421
2525
 
2422
- <div id="new-ttribute-method" class="method-detail ">
2423
- <a name="M000983"></a>
2526
+ <div id="journal-essages-method" class="method-detail ">
2527
+ <a name="method-i-journalMessages"></a>
2424
2528
 
2425
2529
  <div class="method-heading">
2426
2530
 
2427
- <span class="method-name">newAttribute</span><span
2428
- class="method-args">(attributeType)</span>
2531
+ <span class="method-name">journalMessages</span><span
2532
+ class="method-args">(entries, query, longVersion)</span>
2429
2533
  <span class="method-click-advice">click to toggle source</span>
2430
2534
 
2431
2535
  </div>
2432
2536
 
2433
2537
  <div class="method-description">
2434
2538
 
2435
-
2539
+ <p>
2540
+ Create a blog-style list of all alert messages that match the <a
2541
+ href="Query.html">Query</a>.
2542
+ </p>
2436
2543
 
2437
2544
 
2438
2545
 
2439
2546
  <div class="method-source-code"
2440
- id="new-ttribute-source">
2547
+ id="journal-essages-source">
2441
2548
  <pre>
2442
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 582</span>
2443
- 582: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
2444
- 583: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">attributeType</span>)
2445
- 584: <span class="ruby-comment cmt"># If the attribute requires a pointer to the project, we'll hand it over.</span>
2446
- 585: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'setProject'</span>)
2447
- 586: <span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">setProject</span>(<span class="ruby-ivar">@project</span>)
2448
- 587: <span class="ruby-keyword kw">end</span>
2449
- 588:
2450
- 589: <span class="ruby-identifier">attribute</span>
2451
- 590: <span class="ruby-keyword kw">end</span></pre>
2549
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 568</span>
2550
+ 568: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">journalMessages</span>(<span class="ruby-identifier">entries</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">longVersion</span>)
2551
+ 569: <span class="ruby-comment cmt"># The components of the message are either UTF-8 text or RichText. For</span>
2552
+ 570: <span class="ruby-comment cmt"># the RichText components, we use the originally provided markup since</span>
2553
+ 571: <span class="ruby-comment cmt"># we compose the result as RichText markup first.</span>
2554
+ 572: <span class="ruby-identifier">rText</span> = <span class="ruby-value str">''</span>
2555
+ 573: <span class="ruby-identifier">entries</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
2556
+ 574: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;=== &lt;nowiki&gt;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">headline</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;&lt;/nowiki&gt; ===\n&quot;</span>
2557
+ 575: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''Reported on #{entry.date.to_s(query.timeFormat)}'' &quot;</span>
2558
+ 576: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">author</span>
2559
+ 577: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''by &lt;nowiki&gt;#{entry.author.name}&lt;/nowiki&gt;''&quot;</span>
2560
+ 578: <span class="ruby-keyword kw">end</span>
2561
+ 579: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2562
+ 580: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>
2563
+ 581: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2564
+ 582: <span class="ruby-keyword kw">end</span>
2565
+ 583: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">longVersion</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>
2566
+ 584: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2567
+ 585: <span class="ruby-keyword kw">end</span>
2568
+ 586: <span class="ruby-keyword kw">end</span>
2569
+ 587: <span class="ruby-comment cmt"># Now convert the RichText markup String into RichTextIntermediate</span>
2570
+ 588: <span class="ruby-comment cmt"># format.</span>
2571
+ 589: <span class="ruby-keyword kw">begin</span>
2572
+ 590: <span class="ruby-identifier">rti</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rText</span>, <span class="ruby-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>)).
2573
+ 591: <span class="ruby-identifier">generateIntermediateFormat</span>
2574
+ 592: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2575
+ 593: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Error while processing Rich Text\n&quot;</span> <span class="ruby-operator">+</span>
2576
+ 594: <span class="ruby-node">&quot;Line #{msg.lineNo}: #{msg.text}\n&quot;</span> <span class="ruby-operator">+</span>
2577
+ 595: <span class="ruby-node">&quot;#{msg.line}&quot;</span>
2578
+ 596: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2579
+ 597: <span class="ruby-keyword kw">end</span>
2580
+ 598: <span class="ruby-comment cmt"># No section numbers, please!</span>
2581
+ 599: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
2582
+ 600: <span class="ruby-comment cmt"># We use a special class to allow CSS formating.</span>
2583
+ 601: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">cssClass</span> = <span class="ruby-value str">'tj_journal'</span>
2584
+ 602: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rti</span>
2585
+ 603: <span class="ruby-keyword kw">end</span></pre>
2452
2586
  </div>
2453
2587
 
2454
2588
  </div>