taskjuggler 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,29 +69,29 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M000733">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
- <li><a href="#M000734">#a</a></li>
74
+ <li><a href="#method-i-a">#a</a></li>
75
75
 
76
- <li><a href="#M000739">#filterResourceList</a></li>
76
+ <li><a href="#method-i-filterResourceList">#filterResourceList</a></li>
77
77
 
78
- <li><a href="#M000738">#filterTaskList</a></li>
78
+ <li><a href="#method-i-filterTaskList">#filterTaskList</a></li>
79
79
 
80
- <li><a href="#M000740">#generateHtmlTableFrame</a></li>
80
+ <li><a href="#method-i-generateHtmlTableFrame">#generateHtmlTableFrame</a></li>
81
81
 
82
- <li><a href="#M000741">#generateHtmlTableRow</a></li>
82
+ <li><a href="#method-i-generateHtmlTableRow">#generateHtmlTableRow</a></li>
83
83
 
84
- <li><a href="#M000735">#generateIntermediateFormat</a></li>
84
+ <li><a href="#method-i-generateIntermediateFormat">#generateIntermediateFormat</a></li>
85
85
 
86
- <li><a href="#M000742">#rt_to_html</a></li>
86
+ <li><a href="#method-i-rt_to_html">#rt_to_html</a></li>
87
87
 
88
- <li><a href="#M000744">#scaleValue</a></li>
88
+ <li><a href="#method-i-scaleValue">#scaleValue</a></li>
89
89
 
90
- <li><a href="#M000743">#standardFilterOps</a></li>
90
+ <li><a href="#method-i-standardFilterOps">#standardFilterOps</a></li>
91
91
 
92
- <li><a href="#M000737">#to_csv</a></li>
92
+ <li><a href="#method-i-to_csv">#to_csv</a></li>
93
93
 
94
- <li><a href="#M000736">#to_html</a></li>
94
+ <li><a href="#method-i-to_html">#to_html</a></li>
95
95
 
96
96
  </ul>
97
97
  </div>
@@ -108,6 +108,8 @@
108
108
  <h3 class="section-header">Files</h3>
109
109
  <ul>
110
110
 
111
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
112
+
111
113
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
112
114
 
113
115
  <li class="file"><a href="../README.html">README</a></li>
@@ -277,6 +279,8 @@
277
279
 
278
280
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
279
281
 
282
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
283
+
280
284
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
281
285
 
282
286
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -291,6 +295,8 @@
291
295
 
292
296
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
293
297
 
298
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
299
+
294
300
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
295
301
 
296
302
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -307,12 +313,16 @@
307
313
 
308
314
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
309
315
 
316
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
317
+
310
318
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
311
319
 
312
320
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
313
321
 
314
322
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
315
323
 
324
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
325
+
316
326
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
317
327
 
318
328
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -331,6 +341,8 @@
331
341
 
332
342
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
333
343
 
344
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
345
+
334
346
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
335
347
 
336
348
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -459,6 +471,8 @@
459
471
 
460
472
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
461
473
 
474
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
475
+
462
476
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
463
477
 
464
478
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -503,8 +517,12 @@
503
517
 
504
518
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
505
519
 
520
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
521
+
506
522
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
507
523
 
524
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
525
+
508
526
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
509
527
 
510
528
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -531,6 +549,8 @@
531
549
 
532
550
  <li><a href="../String.html">String</a></li>
533
551
 
552
+ <li><a href="../StringIO.html">StringIO</a></li>
553
+
534
554
  </ul>
535
555
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
536
556
  </div>
@@ -564,7 +584,7 @@ the to_* members.
564
584
 
565
585
 
566
586
  <div id="new-method" class="method-detail ">
567
- <a name="M000733"></a>
587
+ <a name="method-c-new"></a>
568
588
 
569
589
  <div class="method-heading">
570
590
 
@@ -605,7 +625,7 @@ the to_* members.
605
625
 
606
626
 
607
627
  <div id="a-method" class="method-detail ">
608
- <a name="M000734"></a>
628
+ <a name="method-i-a"></a>
609
629
 
610
630
  <div class="method-heading">
611
631
 
@@ -641,12 +661,12 @@ Convenience function to access a report attribute
641
661
 
642
662
 
643
663
  <div id="filter-esource-ist-method" class="method-detail ">
644
- <a name="M000739"></a>
664
+ <a name="method-i-filterResourceList"></a>
645
665
 
646
666
  <div class="method-heading">
647
667
 
648
668
  <span class="method-name">filterResourceList</span><span
649
- class="method-args">(list_, task, hideExpr, rollupExpr)</span>
669
+ class="method-args">(list_, task, hideExpr, rollupExpr, openNodes)</span>
650
670
  <span class="method-click-advice">click to toggle source</span>
651
671
 
652
672
  </div>
@@ -666,7 +686,7 @@ assigned to the task in any of the reported scenarios.
666
686
  id="filter-esource-ist-source">
667
687
  <pre>
668
688
  <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 83</span>
669
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">list_</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>)
689
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">list_</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">openNodes</span>)
670
690
  84: <span class="ruby-identifier">list</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list_</span>)
671
691
  85: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">resourceRoot</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'resourceRoot'</span>))
672
692
  86: <span class="ruby-comment cmt"># Remove all resources that are not descendents of the resourceRoot.</span>
@@ -690,7 +710,7 @@ assigned to the task in any of the reported scenarios.
690
710
  104: <span class="ruby-keyword kw">end</span>
691
711
  105: <span class="ruby-keyword kw">end</span>
692
712
  106:
693
- 107: <span class="ruby-identifier">standardFilterOps</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">resourceRoot</span>)
713
+ 107: <span class="ruby-identifier">standardFilterOps</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">openNodes</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">resourceRoot</span>)
694
714
  108: <span class="ruby-keyword kw">end</span></pre>
695
715
  </div>
696
716
 
@@ -703,12 +723,12 @@ assigned to the task in any of the reported scenarios.
703
723
 
704
724
 
705
725
  <div id="filter-ask-ist-method" class="method-detail ">
706
- <a name="M000738"></a>
726
+ <a name="method-i-filterTaskList"></a>
707
727
 
708
728
  <div class="method-heading">
709
729
 
710
730
  <span class="method-name">filterTaskList</span><span
711
- class="method-args">(list_, resource, hideExpr, rollupExpr)</span>
731
+ class="method-args">(list_, resource, hideExpr, rollupExpr, openNodes)</span>
712
732
  <span class="method-click-advice">click to toggle source</span>
713
733
 
714
734
  </div>
@@ -728,7 +748,7 @@ allocated to it in any of the reported scenarios.
728
748
  id="filter-ask-ist-source">
729
749
  <pre>
730
750
  <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 52</span>
731
- 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">list_</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>)
751
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">list_</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">openNodes</span>)
732
752
  53: <span class="ruby-identifier">list</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list_</span>)
733
753
  54: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">taskRoot</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'taskRoot'</span>))
734
754
  55: <span class="ruby-comment cmt"># Remove all tasks that are not descendents of the taskRoot.</span>
@@ -752,7 +772,7 @@ allocated to it in any of the reported scenarios.
752
772
  73: <span class="ruby-keyword kw">end</span>
753
773
  74: <span class="ruby-keyword kw">end</span>
754
774
  75:
755
- 76: <span class="ruby-identifier">standardFilterOps</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">taskRoot</span>)
775
+ 76: <span class="ruby-identifier">standardFilterOps</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">openNodes</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">taskRoot</span>)
756
776
  77: <span class="ruby-keyword kw">end</span></pre>
757
777
  </div>
758
778
 
@@ -765,7 +785,7 @@ allocated to it in any of the reported scenarios.
765
785
 
766
786
 
767
787
  <div id="generate-ntermediate-ormat-method" class="method-detail ">
768
- <a name="M000735"></a>
788
+ <a name="method-i-generateIntermediateFormat"></a>
769
789
 
770
790
  <div class="method-heading">
771
791
 
@@ -786,7 +806,7 @@ allocated to it in any of the reported scenarios.
786
806
  <pre>
787
807
  <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 30</span>
788
808
  30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
789
- 31: <span class="ruby-identifier">query</span> = <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">query</span>
809
+ 31: <span class="ruby-identifier">query</span> = <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">reportContexts</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">query</span>
790
810
  32: <span class="ruby-node">%( header left center right footer
791
811
  33: prolog headline caption epilog )</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
792
812
  34: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span> = <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>)
@@ -805,7 +825,7 @@ allocated to it in any of the reported scenarios.
805
825
 
806
826
 
807
827
  <div id="to-csv-method" class="method-detail ">
808
- <a name="M000737"></a>
828
+ <a name="method-i-to_csv"></a>
809
829
 
810
830
  <div class="method-heading">
811
831
 
@@ -839,7 +859,7 @@ allocated to it in any of the reported scenarios.
839
859
 
840
860
 
841
861
  <div id="to-html-method" class="method-detail ">
842
- <a name="M000736"></a>
862
+ <a name="method-i-to_html"></a>
843
863
 
844
864
  <div class="method-heading">
845
865
 
@@ -879,7 +899,7 @@ allocated to it in any of the reported scenarios.
879
899
 
880
900
 
881
901
  <div id="generate-tml-able-rame-method" class="method-detail ">
882
- <a name="M000740"></a>
902
+ <a name="method-i-generateHtmlTableFrame"></a>
883
903
 
884
904
  <div class="method-heading">
885
905
 
@@ -926,7 +946,7 @@ allocated to it in any of the reported scenarios.
926
946
 
927
947
 
928
948
  <div id="generate-tml-able-ow-method" class="method-detail ">
929
- <a name="M000741"></a>
949
+ <a name="method-i-generateHtmlTableRow"></a>
930
950
 
931
951
  <div class="method-heading">
932
952
 
@@ -960,7 +980,7 @@ allocated to it in any of the reported scenarios.
960
980
 
961
981
 
962
982
  <div id="rt-to-html-method" class="method-detail ">
963
- <a name="M000742"></a>
983
+ <a name="method-i-rt_to_html"></a>
964
984
 
965
985
  <div class="method-heading">
966
986
 
@@ -1000,7 +1020,7 @@ a HTML form.
1000
1020
 
1001
1021
 
1002
1022
  <div id="scale-alue-method" class="method-detail ">
1003
- <a name="M000744"></a>
1023
+ <a name="method-i-scaleValue"></a>
1004
1024
 
1005
1025
  <div class="method-heading">
1006
1026
 
@@ -1026,65 +1046,65 @@ the different units. TODO: Delete when all users have been migrated to use
1026
1046
  <div class="method-source-code"
1027
1047
  id="scale-alue-source">
1028
1048
  <pre>
1029
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 196</span>
1030
- 196: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">factors</span>)
1031
- 197: <span class="ruby-identifier">loadUnit</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>)
1032
- 198: <span class="ruby-identifier">numberFormat</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>)
1033
- 199:
1034
- 200: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:shortauto</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
1035
- 201: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
1036
- 202: <span class="ruby-identifier">options</span> = []
1037
- 203: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
1038
- 204: <span class="ruby-comment cmt"># should not exceed. A maximum of 0 means no limit.</span>
1039
- 205: <span class="ruby-identifier">max</span> = [ <span class="ruby-value">60</span>, <span class="ruby-value">48</span>, <span class="ruby-value">0</span>, <span class="ruby-value">8</span>, <span class="ruby-value">24</span>, <span class="ruby-value">0</span> ]
1040
- 206:
1041
- 207: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1042
- 208: <span class="ruby-identifier">shortest</span> = <span class="ruby-keyword kw">nil</span>
1043
- 209: <span class="ruby-identifier">factors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">factor</span><span class="ruby-operator">|</span>
1044
- 210: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
1045
- 211: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
1046
- 212: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
1047
- 213: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
1048
- 214: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">factor</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1.0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">scaledValue</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>) <span class="ruby-operator">||</span>
1049
- 215: (<span class="ruby-identifier">max</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">scaledValue</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max</span>[<span class="ruby-identifier">i</span>])
1050
- 216: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">nil</span>
1051
- 217: <span class="ruby-keyword kw">else</span>
1052
- 218: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
1053
- 219: <span class="ruby-keyword kw">end</span>
1054
- 220: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1055
- 221: <span class="ruby-keyword kw">end</span>
1056
- 222:
1057
- 223: <span class="ruby-comment cmt"># Default to days in case they are all the same.</span>
1058
- 224: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
1059
- 225: <span class="ruby-comment cmt"># Find the shortest option.</span>
1060
- 226: <span class="ruby-value">6</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
1061
- 227: <span class="ruby-identifier">shortest</span> = <span class="ruby-identifier">j</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">&amp;&amp;</span>
1062
- 228: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>].<span class="ruby-identifier">length</span>
1063
- 229: <span class="ruby-keyword kw">end</span>
1064
- 230:
1065
- 231: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
1066
- 232: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
1067
- 233: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
1068
- 234: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
1069
- 235: <span class="ruby-comment cmt"># other languages as well.</span>
1070
- 236: <span class="ruby-identifier">units</span> = []
1071
- 237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;1&quot;</span>
1072
- 238: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
1073
- 239: <span class="ruby-keyword kw">else</span>
1074
- 240: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
1075
- 241: <span class="ruby-keyword kw">end</span>
1076
- 242: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">' '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">units</span>[<span class="ruby-identifier">shortest</span>]
1077
- 243: <span class="ruby-keyword kw">else</span>
1078
- 244: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">%( min h d w m y )</span>[<span class="ruby-identifier">shortest</span>]
1079
- 245: <span class="ruby-keyword kw">end</span>
1080
- 246: <span class="ruby-keyword kw">else</span>
1081
- 247: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
1082
- 248: <span class="ruby-comment cmt"># included.</span>
1083
- 249: <span class="ruby-identifier">units</span> = [ <span class="ruby-value">:minutes</span>, <span class="ruby-value">:hours</span>, <span class="ruby-value">:days</span>, <span class="ruby-value">:weeks</span>, <span class="ruby-value">:months</span>, <span class="ruby-value">:years</span> ]
1084
- 250: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">value</span> * <span class="ruby-identifier">factors</span>[<span class="ruby-identifier">units</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">loadUnit</span>)])
1085
- 251: <span class="ruby-keyword kw">end</span>
1086
- 252: <span class="ruby-identifier">str</span>
1087
- 253: <span class="ruby-keyword kw">end</span></pre>
1049
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 201</span>
1050
+ 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">factors</span>)
1051
+ 202: <span class="ruby-identifier">loadUnit</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>)
1052
+ 203: <span class="ruby-identifier">numberFormat</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>)
1053
+ 204:
1054
+ 205: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:shortauto</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
1055
+ 206: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
1056
+ 207: <span class="ruby-identifier">options</span> = []
1057
+ 208: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
1058
+ 209: <span class="ruby-comment cmt"># should not exceed. A maximum of 0 means no limit.</span>
1059
+ 210: <span class="ruby-identifier">max</span> = [ <span class="ruby-value">60</span>, <span class="ruby-value">48</span>, <span class="ruby-value">0</span>, <span class="ruby-value">8</span>, <span class="ruby-value">24</span>, <span class="ruby-value">0</span> ]
1060
+ 211:
1061
+ 212: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1062
+ 213: <span class="ruby-identifier">shortest</span> = <span class="ruby-keyword kw">nil</span>
1063
+ 214: <span class="ruby-identifier">factors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">factor</span><span class="ruby-operator">|</span>
1064
+ 215: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
1065
+ 216: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
1066
+ 217: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
1067
+ 218: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
1068
+ 219: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">factor</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1.0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">scaledValue</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>) <span class="ruby-operator">||</span>
1069
+ 220: (<span class="ruby-identifier">max</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">scaledValue</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max</span>[<span class="ruby-identifier">i</span>])
1070
+ 221: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">nil</span>
1071
+ 222: <span class="ruby-keyword kw">else</span>
1072
+ 223: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
1073
+ 224: <span class="ruby-keyword kw">end</span>
1074
+ 225: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1075
+ 226: <span class="ruby-keyword kw">end</span>
1076
+ 227:
1077
+ 228: <span class="ruby-comment cmt"># Default to days in case they are all the same.</span>
1078
+ 229: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
1079
+ 230: <span class="ruby-comment cmt"># Find the shortest option.</span>
1080
+ 231: <span class="ruby-value">6</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
1081
+ 232: <span class="ruby-identifier">shortest</span> = <span class="ruby-identifier">j</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">&amp;&amp;</span>
1082
+ 233: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>].<span class="ruby-identifier">length</span>
1083
+ 234: <span class="ruby-keyword kw">end</span>
1084
+ 235:
1085
+ 236: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
1086
+ 237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
1087
+ 238: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
1088
+ 239: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
1089
+ 240: <span class="ruby-comment cmt"># other languages as well.</span>
1090
+ 241: <span class="ruby-identifier">units</span> = []
1091
+ 242: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;1&quot;</span>
1092
+ 243: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
1093
+ 244: <span class="ruby-keyword kw">else</span>
1094
+ 245: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
1095
+ 246: <span class="ruby-keyword kw">end</span>
1096
+ 247: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">' '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">units</span>[<span class="ruby-identifier">shortest</span>]
1097
+ 248: <span class="ruby-keyword kw">else</span>
1098
+ 249: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">%( min h d w m y )</span>[<span class="ruby-identifier">shortest</span>]
1099
+ 250: <span class="ruby-keyword kw">end</span>
1100
+ 251: <span class="ruby-keyword kw">else</span>
1101
+ 252: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
1102
+ 253: <span class="ruby-comment cmt"># included.</span>
1103
+ 254: <span class="ruby-identifier">units</span> = [ <span class="ruby-value">:minutes</span>, <span class="ruby-value">:hours</span>, <span class="ruby-value">:days</span>, <span class="ruby-value">:weeks</span>, <span class="ruby-value">:months</span>, <span class="ruby-value">:years</span> ]
1104
+ 255: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">value</span> * <span class="ruby-identifier">factors</span>[<span class="ruby-identifier">units</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">loadUnit</span>)])
1105
+ 256: <span class="ruby-keyword kw">end</span>
1106
+ 257: <span class="ruby-identifier">str</span>
1107
+ 258: <span class="ruby-keyword kw">end</span></pre>
1088
1108
  </div>
1089
1109
 
1090
1110
  </div>
@@ -1096,12 +1116,12 @@ the different units. TODO: Delete when all users have been migrated to use
1096
1116
 
1097
1117
 
1098
1118
  <div id="standard-ilter-ps-method" class="method-detail ">
1099
- <a name="M000743"></a>
1119
+ <a name="method-i-standardFilterOps"></a>
1100
1120
 
1101
1121
  <div class="method-heading">
1102
1122
 
1103
1123
  <span class="method-name">standardFilterOps</span><span
1104
- class="method-args">(list, hideExpr, rollupExpr, scopeProperty, root)</span>
1124
+ class="method-args">(list, hideExpr, rollupExpr, openNodes, scopeProperty, root)</span>
1105
1125
  <span class="method-click-advice">click to toggle source</span>
1106
1126
 
1107
1127
  </div>
@@ -1119,52 +1139,57 @@ of lists.
1119
1139
  id="standard-ilter-ps-source">
1120
1140
  <pre>
1121
1141
  <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 143</span>
1122
- 143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">standardFilterOps</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">scopeProperty</span>, <span class="ruby-identifier">root</span>)
1123
- 144: <span class="ruby-comment cmt"># Make a copy of the current Query.</span>
1124
- 145: <span class="ruby-identifier">query</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span>
1125
- 146: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeProperty</span>
1126
- 147:
1127
- 148: <span class="ruby-comment cmt"># Remove all properties that the user wants to have hidden.</span>
1128
- 149: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hideExpr</span>
1129
- 150: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1130
- 151: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">property</span>
1131
- 152: <span class="ruby-identifier">hideExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
1132
- 153: <span class="ruby-keyword kw">end</span>
1133
- 154: <span class="ruby-keyword kw">end</span>
1134
- 155:
1135
- 156: <span class="ruby-comment cmt"># Remove all children of properties that the user has rolled-up.</span>
1136
- 157: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rollupExpr</span>
1137
- 158: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1138
- 159: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1139
- 160: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
1140
- 161: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">parent</span>)
1141
- 162: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">parent</span>
1142
- 163: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rollupExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
1143
- 164: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
1144
- 165: <span class="ruby-keyword kw">break</span>
1145
- 166: <span class="ruby-keyword kw">end</span>
1146
- 167: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1147
- 168: <span class="ruby-keyword kw">end</span>
1148
- 169: <span class="ruby-identifier">delete</span>
1149
- 170: <span class="ruby-keyword kw">end</span>
1150
- 171: <span class="ruby-keyword kw">end</span>
1151
- 172:
1152
- 173: <span class="ruby-comment cmt"># Re-add parents in tree mode</span>
1153
- 174: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">treeMode?</span>
1154
- 175: <span class="ruby-identifier">parents</span> = []
1155
- 176: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1156
- 177: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>
1157
- 178: <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>)
1158
- 179: <span class="ruby-identifier">parents</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">parent</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>) <span class="ruby-operator">||</span>
1159
- 180: <span class="ruby-identifier">parents</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>)
1160
- 181: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">root</span>
1161
- 182: <span class="ruby-keyword kw">end</span>
1162
- 183: <span class="ruby-keyword kw">end</span>
1163
- 184: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parents</span>)
1164
- 185: <span class="ruby-keyword kw">end</span>
1165
- 186:
1166
- 187: <span class="ruby-identifier">list</span>
1167
- 188: <span class="ruby-keyword kw">end</span></pre>
1142
+ 143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">standardFilterOps</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">hideExpr</span>, <span class="ruby-identifier">rollupExpr</span>, <span class="ruby-identifier">openNodes</span>, <span class="ruby-identifier">scopeProperty</span>,
1143
+ 144: <span class="ruby-identifier">root</span>)
1144
+ 145: <span class="ruby-comment cmt"># Make a copy of the current Query.</span>
1145
+ 146: <span class="ruby-identifier">query</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContexts</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span>
1146
+ 147: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeProperty</span>
1147
+ 148:
1148
+ 149: <span class="ruby-comment cmt"># Remove all properties that the user wants to have hidden.</span>
1149
+ 150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hideExpr</span>
1150
+ 151: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1151
+ 152: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">property</span>
1152
+ 153: <span class="ruby-identifier">hideExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
1153
+ 154: <span class="ruby-keyword kw">end</span>
1154
+ 155: <span class="ruby-keyword kw">end</span>
1155
+ 156:
1156
+ 157: <span class="ruby-comment cmt"># Remove all children of properties that the user has rolled-up.</span>
1157
+ 158: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rollupExpr</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">openNodes</span>
1158
+ 159: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1159
+ 160: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1160
+ 161: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
1161
+ 162: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">parent</span>)
1162
+ 163: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">parent</span>
1163
+ 164: <span class="ruby-comment cmt"># If openNodes is not nil, only the listed nodes will be unrolled.</span>
1164
+ 165: <span class="ruby-comment cmt"># If openNodes is nil, only the nodes that match rollupExpr will</span>
1165
+ 166: <span class="ruby-comment cmt"># not be unrolled.</span>
1166
+ 167: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">openNodes</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">openNodes</span>.<span class="ruby-identifier">include?</span>([ <span class="ruby-identifier">parent</span>, <span class="ruby-identifier">scopeProperty</span> ])) <span class="ruby-operator">||</span>
1167
+ 168: (<span class="ruby-operator">!</span><span class="ruby-identifier">openNodes</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">rollupExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>))
1168
+ 169: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
1169
+ 170: <span class="ruby-keyword kw">break</span>
1170
+ 171: <span class="ruby-keyword kw">end</span>
1171
+ 172: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1172
+ 173: <span class="ruby-keyword kw">end</span>
1173
+ 174: <span class="ruby-identifier">delete</span>
1174
+ 175: <span class="ruby-keyword kw">end</span>
1175
+ 176: <span class="ruby-keyword kw">end</span>
1176
+ 177:
1177
+ 178: <span class="ruby-comment cmt"># Re-add parents in tree mode</span>
1178
+ 179: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">treeMode?</span>
1179
+ 180: <span class="ruby-identifier">parents</span> = []
1180
+ 181: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1181
+ 182: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>
1182
+ 183: <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>)
1183
+ 184: <span class="ruby-identifier">parents</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">parent</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>) <span class="ruby-operator">||</span>
1184
+ 185: <span class="ruby-identifier">parents</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>)
1185
+ 186: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">root</span>
1186
+ 187: <span class="ruby-keyword kw">end</span>
1187
+ 188: <span class="ruby-keyword kw">end</span>
1188
+ 189: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parents</span>)
1189
+ 190: <span class="ruby-keyword kw">end</span>
1190
+ 191:
1191
+ 192: <span class="ruby-identifier">list</span>
1192
+ 193: <span class="ruby-keyword kw">end</span></pre>
1168
1193
  </div>
1169
1194
 
1170
1195
  </div>