taskjuggler 0.0.8 → 0.0.9

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 (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -149,6 +149,8 @@
149
149
 
150
150
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
151
151
 
152
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
153
+
152
154
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
153
155
 
154
156
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -227,6 +229,8 @@
227
229
 
228
230
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
229
231
 
232
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
233
+
230
234
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
231
235
 
232
236
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -259,6 +263,8 @@
259
263
 
260
264
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
261
265
 
266
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
267
+
262
268
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
263
269
 
264
270
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -539,6 +545,8 @@
539
545
 
540
546
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
541
547
 
548
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
549
+
542
550
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
543
551
 
544
552
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -565,8 +573,6 @@
565
573
 
566
574
  <li><a href="../String.html">String</a></li>
567
575
 
568
- <li><a href="../StringIO.html">StringIO</a></li>
569
-
570
576
  </ul>
571
577
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
572
578
  </div>
@@ -619,11 +625,11 @@ the to_* members.
619
625
  <div class="method-source-code"
620
626
  id="new-source">
621
627
  <pre>
622
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 20</span>
623
- 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
624
- 21: <span class="ruby-ivar">@report</span> = <span class="ruby-identifier">report</span>
625
- 22: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">project</span>
626
- 23: <span class="ruby-keyword kw">end</span></pre>
628
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 21</span>
629
+ 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
630
+ 22: <span class="ruby-ivar">@report</span> = <span class="ruby-identifier">report</span>
631
+ 23: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">project</span>
632
+ 24: <span class="ruby-keyword kw">end</span></pre>
627
633
  </div>
628
634
 
629
635
  </div>
@@ -662,10 +668,10 @@ Convenience function to access a report attribute
662
668
  <div class="method-source-code"
663
669
  id="a-source">
664
670
  <pre>
665
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 26</span>
666
- 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attribute</span>)
667
- 27: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">attribute</span>)
668
- 28: <span class="ruby-keyword kw">end</span></pre>
671
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 27</span>
672
+ 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attribute</span>)
673
+ 28: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">attribute</span>)
674
+ 29: <span class="ruby-keyword kw">end</span></pre>
669
675
  </div>
670
676
 
671
677
  </div>
@@ -701,33 +707,33 @@ assigned to the task in any of the reported scenarios.
701
707
  <div class="method-source-code"
702
708
  id="filter-esource-ist-source">
703
709
  <pre>
704
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 84</span>
705
- 84: <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>)
706
- 85: <span class="ruby-identifier">list</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list_</span>)
707
- 86: <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>))
708
- 87: <span class="ruby-comment cmt"># Remove all resources that are not descendents of the resourceRoot.</span>
709
- 88: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">resource</span>.<span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">resourceRoot</span>) }
710
- 89: <span class="ruby-keyword kw">end</span>
711
- 90:
712
- 91: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>
713
- 92: <span class="ruby-comment cmt"># If we have a task we need to check that the resources are assigned</span>
714
- 93: <span class="ruby-comment cmt"># to the task in any of the reported scenarios.</span>
715
- 94: <span class="ruby-identifier">iv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>))
716
- 95: <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">resource</span><span class="ruby-operator">|</span>
717
- 96: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
718
- 97: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
719
- 98: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasResourceAllocated?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">iv</span>, <span class="ruby-identifier">resource</span>)
720
- 99: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
721
- 100: <span class="ruby-keyword kw">break</span>;
722
- 101: <span class="ruby-keyword kw">end</span>
723
- 102: <span class="ruby-keyword kw">end</span>
724
- 103: <span class="ruby-identifier">delete</span>
725
- 104: <span class="ruby-keyword kw">end</span>
726
- 105: <span class="ruby-keyword kw">end</span>
727
- 106:
728
- 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>,
729
- 108: <span class="ruby-identifier">resourceRoot</span>)
730
- 109: <span class="ruby-keyword kw">end</span></pre>
710
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 85</span>
711
+ 85: <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>)
712
+ 86: <span class="ruby-identifier">list</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list_</span>)
713
+ 87: <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>))
714
+ 88: <span class="ruby-comment cmt"># Remove all resources that are not descendents of the resourceRoot.</span>
715
+ 89: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">resource</span>.<span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">resourceRoot</span>) }
716
+ 90: <span class="ruby-keyword kw">end</span>
717
+ 91:
718
+ 92: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>
719
+ 93: <span class="ruby-comment cmt"># If we have a task we need to check that the resources are assigned</span>
720
+ 94: <span class="ruby-comment cmt"># to the task in any of the reported scenarios.</span>
721
+ 95: <span class="ruby-identifier">iv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>))
722
+ 96: <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">resource</span><span class="ruby-operator">|</span>
723
+ 97: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
724
+ 98: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
725
+ 99: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasResourceAllocated?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">iv</span>, <span class="ruby-identifier">resource</span>)
726
+ 100: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
727
+ 101: <span class="ruby-keyword kw">break</span>;
728
+ 102: <span class="ruby-keyword kw">end</span>
729
+ 103: <span class="ruby-keyword kw">end</span>
730
+ 104: <span class="ruby-identifier">delete</span>
731
+ 105: <span class="ruby-keyword kw">end</span>
732
+ 106: <span class="ruby-keyword kw">end</span>
733
+ 107:
734
+ 108: <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>,
735
+ 109: <span class="ruby-identifier">resourceRoot</span>)
736
+ 110: <span class="ruby-keyword kw">end</span></pre>
731
737
  </div>
732
738
 
733
739
  </div>
@@ -763,34 +769,34 @@ allocated to it in any of the reported scenarios.
763
769
  <div class="method-source-code"
764
770
  id="filter-ask-ist-source">
765
771
  <pre>
766
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 52</span>
767
- 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>)
768
- 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>)
769
- 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>))
770
- 55: <span class="ruby-comment cmt"># Remove all tasks that are not descendents of the taskRoot.</span>
771
- 56: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">task</span>.<span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">taskRoot</span>) }
772
- 57: <span class="ruby-keyword kw">end</span>
773
- 58:
774
- 59: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resource</span>
775
- 60: <span class="ruby-comment cmt"># If we have a resource we need to check that the resource is allocated</span>
776
- 61: <span class="ruby-comment cmt"># to the tasks in any of the reported scenarios within the report time</span>
777
- 62: <span class="ruby-comment cmt"># frame.</span>
778
- 63: <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">task</span><span class="ruby-operator">|</span>
779
- 64: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
780
- 65: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
781
- 66: <span class="ruby-identifier">iv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>))
782
- 67: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasResourceAllocated?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">iv</span>, <span class="ruby-identifier">resource</span>)
783
- 68: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
784
- 69: <span class="ruby-keyword kw">break</span>;
785
- 70: <span class="ruby-keyword kw">end</span>
786
- 71: <span class="ruby-keyword kw">end</span>
787
- 72: <span class="ruby-identifier">delete</span>
788
- 73: <span class="ruby-keyword kw">end</span>
789
- 74: <span class="ruby-keyword kw">end</span>
790
- 75:
791
- 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>,
792
- 77: <span class="ruby-identifier">taskRoot</span>)
793
- 78: <span class="ruby-keyword kw">end</span></pre>
772
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 53</span>
773
+ 53: <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>)
774
+ 54: <span class="ruby-identifier">list</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list_</span>)
775
+ 55: <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>))
776
+ 56: <span class="ruby-comment cmt"># Remove all tasks that are not descendents of the taskRoot.</span>
777
+ 57: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">task</span>.<span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">taskRoot</span>) }
778
+ 58: <span class="ruby-keyword kw">end</span>
779
+ 59:
780
+ 60: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resource</span>
781
+ 61: <span class="ruby-comment cmt"># If we have a resource we need to check that the resource is allocated</span>
782
+ 62: <span class="ruby-comment cmt"># to the tasks in any of the reported scenarios within the report time</span>
783
+ 63: <span class="ruby-comment cmt"># frame.</span>
784
+ 64: <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">task</span><span class="ruby-operator">|</span>
785
+ 65: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
786
+ 66: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
787
+ 67: <span class="ruby-identifier">iv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>))
788
+ 68: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasResourceAllocated?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">iv</span>, <span class="ruby-identifier">resource</span>)
789
+ 69: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
790
+ 70: <span class="ruby-keyword kw">break</span>;
791
+ 71: <span class="ruby-keyword kw">end</span>
792
+ 72: <span class="ruby-keyword kw">end</span>
793
+ 73: <span class="ruby-identifier">delete</span>
794
+ 74: <span class="ruby-keyword kw">end</span>
795
+ 75: <span class="ruby-keyword kw">end</span>
796
+ 76:
797
+ 77: <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>,
798
+ 78: <span class="ruby-identifier">taskRoot</span>)
799
+ 79: <span class="ruby-keyword kw">end</span></pre>
794
800
  </div>
795
801
 
796
802
  </div>
@@ -821,16 +827,16 @@ allocated to it in any of the reported scenarios.
821
827
  <div class="method-source-code"
822
828
  id="generate-ntermediate-ormat-source">
823
829
  <pre>
824
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 30</span>
825
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
826
- 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>
827
- 32: <span class="ruby-node">%( header left center right footer
828
- 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>
829
- 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>))
830
- 35:
831
- 36: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-identifier">query</span>)
832
- 37: <span class="ruby-keyword kw">end</span>
833
- 38: <span class="ruby-keyword kw">end</span></pre>
830
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 31</span>
831
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
832
+ 32: <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>
833
+ 33: <span class="ruby-node">%( header left center right footer
834
+ 34: 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>
835
+ 35: <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>))
836
+ 36:
837
+ 37: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-identifier">query</span>)
838
+ 38: <span class="ruby-keyword kw">end</span>
839
+ 39: <span class="ruby-keyword kw">end</span></pre>
834
840
  </div>
835
841
 
836
842
  </div>
@@ -861,10 +867,10 @@ allocated to it in any of the reported scenarios.
861
867
  <div class="method-source-code"
862
868
  id="to-csv-source">
863
869
  <pre>
864
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 44</span>
865
- 44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
866
- 45: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'This function must be overriden by derived classes.'</span>
867
- 46: <span class="ruby-keyword kw">end</span></pre>
870
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 45</span>
871
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
872
+ 46: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'This function must be overriden by derived classes.'</span>
873
+ 47: <span class="ruby-keyword kw">end</span></pre>
868
874
  </div>
869
875
 
870
876
  </div>
@@ -895,10 +901,10 @@ allocated to it in any of the reported scenarios.
895
901
  <div class="method-source-code"
896
902
  id="to-html-source">
897
903
  <pre>
898
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 40</span>
899
- 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
900
- 41: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'This function must be overriden by derived classes.'</span>
901
- 42: <span class="ruby-keyword kw">end</span></pre>
904
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 41</span>
905
+ 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
906
+ 42: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'This function must be overriden by derived classes.'</span>
907
+ 43: <span class="ruby-keyword kw">end</span></pre>
902
908
  </div>
903
909
 
904
910
  </div>
@@ -935,23 +941,23 @@ allocated to it in any of the reported scenarios.
935
941
  <div class="method-source-code"
936
942
  id="generate-tml-able-rame-source">
937
943
  <pre>
938
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 113</span>
939
- 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHtmlTableFrame</span>
940
- 114: <span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_frame'</span>,
941
- 115: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>)
942
- 116:
943
- 117: <span class="ruby-comment cmt"># Headline box</span>
944
- 118: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>)
945
- 119: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHtmlTableRow</span> <span class="ruby-keyword kw">do</span>
946
- 120: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)
947
- 121: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_headline'</span>))
948
- 122: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>).<span class="ruby-identifier">to_html</span>
949
- 123: <span class="ruby-identifier">td</span>
950
- 124: <span class="ruby-keyword kw">end</span>
951
- 125: <span class="ruby-keyword kw">end</span>
952
- 126:
953
- 127: <span class="ruby-identifier">table</span>
954
- 128: <span class="ruby-keyword kw">end</span></pre>
944
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 114</span>
945
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHtmlTableFrame</span>
946
+ 115: <span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_frame'</span>,
947
+ 116: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>)
948
+ 117:
949
+ 118: <span class="ruby-comment cmt"># Headline box</span>
950
+ 119: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>)
951
+ 120: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHtmlTableRow</span> <span class="ruby-keyword kw">do</span>
952
+ 121: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)
953
+ 122: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_headline'</span>))
954
+ 123: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>).<span class="ruby-identifier">to_html</span>
955
+ 124: <span class="ruby-identifier">td</span>
956
+ 125: <span class="ruby-keyword kw">end</span>
957
+ 126: <span class="ruby-keyword kw">end</span>
958
+ 127:
959
+ 128: <span class="ruby-identifier">table</span>
960
+ 129: <span class="ruby-keyword kw">end</span></pre>
955
961
  </div>
956
962
 
957
963
  </div>
@@ -982,10 +988,10 @@ allocated to it in any of the reported scenarios.
982
988
  <div class="method-source-code"
983
989
  id="generate-tml-able-ow-source">
984
990
  <pre>
985
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 130</span>
986
- 130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHtmlTableRow</span>
987
- 131: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">yield</span>
988
- 132: <span class="ruby-keyword kw">end</span></pre>
991
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 131</span>
992
+ 131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHtmlTableRow</span>
993
+ 132: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">yield</span>
994
+ 133: <span class="ruby-keyword kw">end</span></pre>
989
995
  </div>
990
996
 
991
997
  </div>
@@ -1019,13 +1025,13 @@ a HTML form.
1019
1025
  <div class="method-source-code"
1020
1026
  id="rt-to-html-source">
1021
1027
  <pre>
1022
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 135</span>
1023
- 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-identifier">name</span>)
1024
- 136: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>)
1025
- 137:
1026
- 138: <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
1027
- 139: <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">to_html</span>
1028
- 140: <span class="ruby-keyword kw">end</span></pre>
1028
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 136</span>
1029
+ 136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-identifier">name</span>)
1030
+ 137: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>)
1031
+ 138:
1032
+ 139: <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
1033
+ 140: <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">to_html</span>
1034
+ 141: <span class="ruby-keyword kw">end</span></pre>
1029
1035
  </div>
1030
1036
 
1031
1037
  </div>
@@ -1063,65 +1069,65 @@ the different units. TODO: Delete when all users have been migrated to use
1063
1069
  <div class="method-source-code"
1064
1070
  id="scale-alue-source">
1065
1071
  <pre>
1066
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 202</span>
1067
- 202: <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>)
1068
- 203: <span class="ruby-identifier">loadUnit</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>)
1069
- 204: <span class="ruby-identifier">numberFormat</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>)
1070
- 205:
1071
- 206: <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>
1072
- 207: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
1073
- 208: <span class="ruby-identifier">options</span> = []
1074
- 209: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
1075
- 210: <span class="ruby-comment cmt"># should not exceed. A maximum of 0 means no limit.</span>
1076
- 211: <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> ]
1077
- 212:
1078
- 213: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1079
- 214: <span class="ruby-identifier">shortest</span> = <span class="ruby-keyword kw">nil</span>
1080
- 215: <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>
1081
- 216: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
1082
- 217: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
1083
- 218: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
1084
- 219: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
1085
- 220: <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>
1086
- 221: (<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>])
1087
- 222: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">nil</span>
1088
- 223: <span class="ruby-keyword kw">else</span>
1089
- 224: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
1090
- 225: <span class="ruby-keyword kw">end</span>
1091
- 226: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1092
- 227: <span class="ruby-keyword kw">end</span>
1093
- 228:
1094
- 229: <span class="ruby-comment cmt"># Default to days in case they are all the same.</span>
1095
- 230: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
1096
- 231: <span class="ruby-comment cmt"># Find the shortest option.</span>
1097
- 232: <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>
1098
- 233: <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>
1099
- 234: <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>
1100
- 235: <span class="ruby-keyword kw">end</span>
1101
- 236:
1102
- 237: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
1103
- 238: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
1104
- 239: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
1105
- 240: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
1106
- 241: <span class="ruby-comment cmt"># other languages as well.</span>
1107
- 242: <span class="ruby-identifier">units</span> = []
1108
- 243: <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>
1109
- 244: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
1110
- 245: <span class="ruby-keyword kw">else</span>
1111
- 246: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
1112
- 247: <span class="ruby-keyword kw">end</span>
1113
- 248: <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>]
1114
- 249: <span class="ruby-keyword kw">else</span>
1115
- 250: <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>]
1116
- 251: <span class="ruby-keyword kw">end</span>
1117
- 252: <span class="ruby-keyword kw">else</span>
1118
- 253: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
1119
- 254: <span class="ruby-comment cmt"># included.</span>
1120
- 255: <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> ]
1121
- 256: <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>)])
1122
- 257: <span class="ruby-keyword kw">end</span>
1123
- 258: <span class="ruby-identifier">str</span>
1124
- 259: <span class="ruby-keyword kw">end</span></pre>
1072
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 203</span>
1073
+ 203: <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>)
1074
+ 204: <span class="ruby-identifier">loadUnit</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>)
1075
+ 205: <span class="ruby-identifier">numberFormat</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>)
1076
+ 206:
1077
+ 207: <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>
1078
+ 208: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
1079
+ 209: <span class="ruby-identifier">options</span> = []
1080
+ 210: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
1081
+ 211: <span class="ruby-comment cmt"># should not exceed. A maximum of 0 means no limit.</span>
1082
+ 212: <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> ]
1083
+ 213:
1084
+ 214: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1085
+ 215: <span class="ruby-identifier">shortest</span> = <span class="ruby-keyword kw">nil</span>
1086
+ 216: <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>
1087
+ 217: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
1088
+ 218: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
1089
+ 219: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
1090
+ 220: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
1091
+ 221: <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>
1092
+ 222: (<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>])
1093
+ 223: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">nil</span>
1094
+ 224: <span class="ruby-keyword kw">else</span>
1095
+ 225: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
1096
+ 226: <span class="ruby-keyword kw">end</span>
1097
+ 227: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1098
+ 228: <span class="ruby-keyword kw">end</span>
1099
+ 229:
1100
+ 230: <span class="ruby-comment cmt"># Default to days in case they are all the same.</span>
1101
+ 231: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
1102
+ 232: <span class="ruby-comment cmt"># Find the shortest option.</span>
1103
+ 233: <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>
1104
+ 234: <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>
1105
+ 235: <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>
1106
+ 236: <span class="ruby-keyword kw">end</span>
1107
+ 237:
1108
+ 238: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
1109
+ 239: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
1110
+ 240: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
1111
+ 241: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
1112
+ 242: <span class="ruby-comment cmt"># other languages as well.</span>
1113
+ 243: <span class="ruby-identifier">units</span> = []
1114
+ 244: <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>
1115
+ 245: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
1116
+ 246: <span class="ruby-keyword kw">else</span>
1117
+ 247: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
1118
+ 248: <span class="ruby-keyword kw">end</span>
1119
+ 249: <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>]
1120
+ 250: <span class="ruby-keyword kw">else</span>
1121
+ 251: <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>]
1122
+ 252: <span class="ruby-keyword kw">end</span>
1123
+ 253: <span class="ruby-keyword kw">else</span>
1124
+ 254: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
1125
+ 255: <span class="ruby-comment cmt"># included.</span>
1126
+ 256: <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> ]
1127
+ 257: <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>)])
1128
+ 258: <span class="ruby-keyword kw">end</span>
1129
+ 259: <span class="ruby-identifier">str</span>
1130
+ 260: <span class="ruby-keyword kw">end</span></pre>
1125
1131
  </div>
1126
1132
 
1127
1133
  </div>
@@ -1155,58 +1161,58 @@ of lists.
1155
1161
  <div class="method-source-code"
1156
1162
  id="standard-ilter-ps-source">
1157
1163
  <pre>
1158
- <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 144</span>
1159
- 144: <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>,
1160
- 145: <span class="ruby-identifier">root</span>)
1161
- 146: <span class="ruby-comment cmt"># Make a copy of the current Query.</span>
1162
- 147: <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>
1163
- 148: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeProperty</span>
1164
- 149:
1165
- 150: <span class="ruby-comment cmt"># Remove all properties that the user wants to have hidden.</span>
1166
- 151: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hideExpr</span>
1167
- 152: <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>
1168
- 153: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">property</span>
1169
- 154: <span class="ruby-identifier">hideExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
1170
- 155: <span class="ruby-keyword kw">end</span>
1171
- 156: <span class="ruby-keyword kw">end</span>
1172
- 157:
1173
- 158: <span class="ruby-comment cmt"># Remove all children of properties that the user has rolled-up.</span>
1174
- 159: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rollupExpr</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">openNodes</span>
1175
- 160: <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>
1176
- 161: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1177
- 162: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
1178
- 163: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">parent</span>)
1179
- 164: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">parent</span>
1180
- 165: <span class="ruby-comment cmt"># If openNodes is not nil, only the listed nodes will be unrolled.</span>
1181
- 166: <span class="ruby-comment cmt"># If openNodes is nil, only the nodes that match rollupExpr will</span>
1182
- 167: <span class="ruby-comment cmt"># not be unrolled.</span>
1183
- 168: <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>
1184
- 169: (<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>))
1185
- 170: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
1186
- 171: <span class="ruby-keyword kw">break</span>
1187
- 172: <span class="ruby-keyword kw">end</span>
1188
- 173: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1189
- 174: <span class="ruby-keyword kw">end</span>
1190
- 175: <span class="ruby-identifier">delete</span>
1191
- 176: <span class="ruby-keyword kw">end</span>
1192
- 177: <span class="ruby-keyword kw">end</span>
1193
- 178:
1194
- 179: <span class="ruby-comment cmt"># Re-add parents in tree mode</span>
1195
- 180: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">treeMode?</span>
1196
- 181: <span class="ruby-identifier">parents</span> = []
1197
- 182: <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>
1198
- 183: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>
1199
- 184: <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>)
1200
- 185: <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>
1201
- 186: <span class="ruby-identifier">parents</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>)
1202
- 187: <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>
1203
- 188: <span class="ruby-keyword kw">end</span>
1204
- 189: <span class="ruby-keyword kw">end</span>
1205
- 190: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parents</span>)
1206
- 191: <span class="ruby-keyword kw">end</span>
1207
- 192:
1208
- 193: <span class="ruby-identifier">list</span>
1209
- 194: <span class="ruby-keyword kw">end</span></pre>
1164
+ <span class="ruby-comment cmt"># File lib/reports/ReportBase.rb, line 145</span>
1165
+ 145: <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>,
1166
+ 146: <span class="ruby-identifier">root</span>)
1167
+ 147: <span class="ruby-comment cmt"># Make a copy of the current Query.</span>
1168
+ 148: <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>
1169
+ 149: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeProperty</span>
1170
+ 150:
1171
+ 151: <span class="ruby-comment cmt"># Remove all properties that the user wants to have hidden.</span>
1172
+ 152: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hideExpr</span>
1173
+ 153: <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>
1174
+ 154: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">property</span>
1175
+ 155: <span class="ruby-identifier">hideExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
1176
+ 156: <span class="ruby-keyword kw">end</span>
1177
+ 157: <span class="ruby-keyword kw">end</span>
1178
+ 158:
1179
+ 159: <span class="ruby-comment cmt"># Remove all children of properties that the user has rolled-up.</span>
1180
+ 160: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rollupExpr</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">openNodes</span>
1181
+ 161: <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>
1182
+ 162: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1183
+ 163: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
1184
+ 164: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">parent</span>)
1185
+ 165: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">parent</span>
1186
+ 166: <span class="ruby-comment cmt"># If openNodes is not nil, only the listed nodes will be unrolled.</span>
1187
+ 167: <span class="ruby-comment cmt"># If openNodes is nil, only the nodes that match rollupExpr will</span>
1188
+ 168: <span class="ruby-comment cmt"># not be unrolled.</span>
1189
+ 169: <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>
1190
+ 170: (<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>))
1191
+ 171: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
1192
+ 172: <span class="ruby-keyword kw">break</span>
1193
+ 173: <span class="ruby-keyword kw">end</span>
1194
+ 174: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1195
+ 175: <span class="ruby-keyword kw">end</span>
1196
+ 176: <span class="ruby-identifier">delete</span>
1197
+ 177: <span class="ruby-keyword kw">end</span>
1198
+ 178: <span class="ruby-keyword kw">end</span>
1199
+ 179:
1200
+ 180: <span class="ruby-comment cmt"># Re-add parents in tree mode</span>
1201
+ 181: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">treeMode?</span>
1202
+ 182: <span class="ruby-identifier">parents</span> = []
1203
+ 183: <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>
1204
+ 184: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>
1205
+ 185: <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>)
1206
+ 186: <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>
1207
+ 187: <span class="ruby-identifier">parents</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>)
1208
+ 188: <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>
1209
+ 189: <span class="ruby-keyword kw">end</span>
1210
+ 190: <span class="ruby-keyword kw">end</span>
1211
+ 191: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parents</span>)
1212
+ 192: <span class="ruby-keyword kw">end</span>
1213
+ 193:
1214
+ 194: <span class="ruby-identifier">list</span>
1215
+ 195: <span class="ruby-keyword kw">end</span></pre>
1210
1216
  </div>
1211
1217
 
1212
1218
  </div>