taskjuggler 0.0.11 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (697) hide show
  1. data/CHANGELOG +6 -1550
  2. data/benchmarks/UTF-8-Strings.rb +58 -0
  3. data/benchmarks/profile.clt +36082 -0
  4. data/benchmarks/profile.html +58182 -0
  5. data/benchmarks/runbench.rb +2 -2
  6. data/data/css/tjmanual.css +0 -1
  7. data/doc/AppConfig.html +1491 -0
  8. data/doc/CHANGELOG.html +557 -0
  9. data/doc/COPYING.html +899 -0
  10. data/doc/Diff.html +1193 -0
  11. data/doc/Diff/Hunk.html +1026 -0
  12. data/doc/Diffable.html +684 -0
  13. data/doc/DiffableString.html +684 -0
  14. data/doc/Object.html +720 -0
  15. data/doc/README_rdoc.html +742 -0
  16. data/doc/RuntimeConfig.html +856 -0
  17. data/doc/String.html +1005 -0
  18. data/doc/TaskJuggler.html +2639 -0
  19. data/doc/TaskJuggler/Account.html +753 -0
  20. data/doc/TaskJuggler/AccountAttribute.html +769 -0
  21. data/doc/TaskJuggler/AccountScenario.html +712 -0
  22. data/doc/TaskJuggler/Allocation.html +963 -0
  23. data/doc/TaskJuggler/AllocationAttribute.html +799 -0
  24. data/doc/TaskJuggler/AttributeBase.html +1328 -0
  25. data/doc/TaskJuggler/AttributeDefinition.html +815 -0
  26. data/doc/TaskJuggler/AttributeOverwrite.html +606 -0
  27. data/doc/TaskJuggler/BatchProcessor.html +1178 -0
  28. data/doc/TaskJuggler/Booking.html +859 -0
  29. data/doc/TaskJuggler/BookingListAttribute.html +769 -0
  30. data/doc/TaskJuggler/BooleanAttribute.html +769 -0
  31. data/doc/TaskJuggler/CSVFile.html +1128 -0
  32. data/doc/TaskJuggler/CellSettingPattern.html +700 -0
  33. data/doc/TaskJuggler/CellSettingPatternList.html +749 -0
  34. data/doc/TaskJuggler/Charge.html +777 -0
  35. data/doc/TaskJuggler/ChargeListAttribute.html +733 -0
  36. data/doc/TaskJuggler/ChargeSet.html +949 -0
  37. data/doc/TaskJuggler/ChargeSetListAttribute.html +778 -0
  38. data/doc/TaskJuggler/CollisionDetector.html +1089 -0
  39. data/doc/TaskJuggler/ColumnListAttribute.html +733 -0
  40. data/doc/TaskJuggler/ColumnTable.html +763 -0
  41. data/doc/TaskJuggler/Daemon.html +819 -0
  42. data/doc/TaskJuggler/DataCache.html +1025 -0
  43. data/doc/TaskJuggler/DataCacheEntry.html +737 -0
  44. data/doc/TaskJuggler/DateAttribute.html +737 -0
  45. data/doc/TaskJuggler/DefinitionListAttribute.html +655 -0
  46. data/doc/TaskJuggler/DependencyListAttribute.html +773 -0
  47. data/doc/TaskJuggler/DurationAttribute.html +770 -0
  48. data/doc/TaskJuggler/FileList.html +793 -0
  49. data/doc/TaskJuggler/FileRecord.html +702 -0
  50. data/doc/TaskJuggler/FixnumAttribute.html +691 -0
  51. data/doc/TaskJuggler/FlagListAttribute.html +769 -0
  52. data/doc/TaskJuggler/FloatAttribute.html +733 -0
  53. data/doc/TaskJuggler/FormatListAttribute.html +697 -0
  54. data/doc/TaskJuggler/GanttChart.html +1487 -0
  55. data/doc/TaskJuggler/GanttContainer.html +945 -0
  56. data/doc/TaskJuggler/GanttHeader.html +948 -0
  57. data/doc/TaskJuggler/GanttHeaderScaleItem.html +762 -0
  58. data/doc/TaskJuggler/GanttLine.html +1325 -0
  59. data/doc/TaskJuggler/GanttLoadStack.html +828 -0
  60. data/doc/TaskJuggler/GanttMilestone.html +926 -0
  61. data/doc/TaskJuggler/GanttRouter.html +1136 -0
  62. data/doc/TaskJuggler/GanttTaskBar.html +948 -0
  63. data/doc/TaskJuggler/HTMLDocument.html +754 -0
  64. data/doc/TaskJuggler/HTMLElements.html +599 -0
  65. data/doc/TaskJuggler/HTMLGraphics.html +837 -0
  66. data/doc/TaskJuggler/Interval.html +1076 -0
  67. data/doc/TaskJuggler/IntervalList.html +797 -0
  68. data/doc/TaskJuggler/IntervalListAttribute.html +773 -0
  69. data/doc/TaskJuggler/JobInfo.html +943 -0
  70. data/doc/TaskJuggler/Journal.html +1248 -0
  71. data/doc/TaskJuggler/JournalEntry.html +860 -0
  72. data/doc/TaskJuggler/JournalEntryList.html +1229 -0
  73. data/doc/TaskJuggler/KeywordArray.html +696 -0
  74. data/doc/TaskJuggler/KeywordDocumentation.html +2250 -0
  75. data/doc/TaskJuggler/Limits.html +1036 -0
  76. data/doc/TaskJuggler/Limits/Limit.html +947 -0
  77. data/doc/TaskJuggler/LimitsAttribute.html +734 -0
  78. data/doc/TaskJuggler/ListAttributeBase.html +703 -0
  79. data/doc/TaskJuggler/Log.html +1163 -0
  80. data/doc/TaskJuggler/LogFile.html +980 -0
  81. data/doc/TaskJuggler/LogicalAttribute.html +760 -0
  82. data/doc/TaskJuggler/LogicalExpression.html +801 -0
  83. data/doc/TaskJuggler/LogicalExpressionAttribute.html +691 -0
  84. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +691 -0
  85. data/doc/TaskJuggler/LogicalFlag.html +753 -0
  86. data/doc/TaskJuggler/LogicalFunction.html +1409 -0
  87. data/doc/TaskJuggler/LogicalOperation.html +1144 -0
  88. data/doc/TaskJuggler/ManagerResponsibilities.html +736 -0
  89. data/doc/TaskJuggler/ManagerStatusRecord.html +740 -0
  90. data/doc/TaskJuggler/Message.html +837 -0
  91. data/doc/TaskJuggler/MessageHandler.html +1056 -0
  92. data/doc/TaskJuggler/Navigator.html +943 -0
  93. data/doc/TaskJuggler/NavigatorElement.html +994 -0
  94. data/doc/TaskJuggler/NikuProject.html +724 -0
  95. data/doc/TaskJuggler/NikuReport.html +1470 -0
  96. data/doc/TaskJuggler/NikuResource.html +694 -0
  97. data/doc/TaskJuggler/NodeListAttribute.html +655 -0
  98. data/doc/TaskJuggler/PlaceHolderCell.html +748 -0
  99. data/doc/TaskJuggler/ProcessIntercom.html +1017 -0
  100. data/doc/TaskJuggler/ProcessIntercomIface.html +773 -0
  101. data/doc/TaskJuggler/Project.html +3478 -0
  102. data/doc/TaskJuggler/ProjectBroker.html +1676 -0
  103. data/doc/TaskJuggler/ProjectBrokerIface.html +851 -0
  104. data/doc/TaskJuggler/ProjectFileParser.html +2102 -0
  105. data/doc/TaskJuggler/ProjectFileScanner.html +1896 -0
  106. data/doc/TaskJuggler/ProjectRecord.html +978 -0
  107. data/doc/TaskJuggler/ProjectServer.html +1249 -0
  108. data/doc/TaskJuggler/ProjectServerIface.html +868 -0
  109. data/doc/TaskJuggler/PropertyAttribute.html +691 -0
  110. data/doc/TaskJuggler/PropertyList.html +1399 -0
  111. data/doc/TaskJuggler/PropertySet.html +1796 -0
  112. data/doc/TaskJuggler/PropertyTreeNode.html +2851 -0
  113. data/doc/TaskJuggler/Query.html +1756 -0
  114. data/doc/TaskJuggler/RTFHandlers.html +664 -0
  115. data/doc/TaskJuggler/RTFNavigator.html +792 -0
  116. data/doc/TaskJuggler/RTFQuery.html +1083 -0
  117. data/doc/TaskJuggler/RTFReport.html +820 -0
  118. data/doc/TaskJuggler/RTFReportLink.html +812 -0
  119. data/doc/TaskJuggler/RTFWithQuerySupport.html +702 -0
  120. data/doc/TaskJuggler/RealFormat.html +805 -0
  121. data/doc/TaskJuggler/RealFormatAttribute.html +655 -0
  122. data/doc/TaskJuggler/ReferenceAttribute.html +880 -0
  123. data/doc/TaskJuggler/Report.html +1501 -0
  124. data/doc/TaskJuggler/ReportBase.html +1266 -0
  125. data/doc/TaskJuggler/ReportContext.html +837 -0
  126. data/doc/TaskJuggler/ReportServer.html +1068 -0
  127. data/doc/TaskJuggler/ReportServerIface.html +902 -0
  128. data/doc/TaskJuggler/ReportServerRecord.html +781 -0
  129. data/doc/TaskJuggler/ReportServlet.html +1029 -0
  130. data/doc/TaskJuggler/ReportTable.html +1179 -0
  131. data/doc/TaskJuggler/ReportTableCell.html +1666 -0
  132. data/doc/TaskJuggler/ReportTableColumn.html +890 -0
  133. data/doc/TaskJuggler/ReportTableLegend.html +1060 -0
  134. data/doc/TaskJuggler/ReportTableLine.html +1067 -0
  135. data/doc/TaskJuggler/Resource.html +1004 -0
  136. data/doc/TaskJuggler/ResourceListAttribute.html +829 -0
  137. data/doc/TaskJuggler/ResourceListRE.html +737 -0
  138. data/doc/TaskJuggler/ResourceScenario.html +2549 -0
  139. data/doc/TaskJuggler/RichText.html +879 -0
  140. data/doc/TaskJuggler/RichTextAttribute.html +811 -0
  141. data/doc/TaskJuggler/RichTextDocument.html +1038 -0
  142. data/doc/TaskJuggler/RichTextElement.html +1780 -0
  143. data/doc/TaskJuggler/RichTextFunctionExample.html +799 -0
  144. data/doc/TaskJuggler/RichTextFunctionHandler.html +750 -0
  145. data/doc/TaskJuggler/RichTextImage.html +712 -0
  146. data/doc/TaskJuggler/RichTextIntermediate.html +1285 -0
  147. data/doc/TaskJuggler/RichTextParser.html +868 -0
  148. data/doc/TaskJuggler/RichTextScanner.html +1565 -0
  149. data/doc/TaskJuggler/RichTextSnip.html +1000 -0
  150. data/doc/TaskJuggler/RichTextSyntaxRules.html +2052 -0
  151. data/doc/TaskJuggler/Scenario.html +656 -0
  152. data/doc/TaskJuggler/ScenarioData.html +838 -0
  153. data/doc/TaskJuggler/ScenarioListAttribute.html +733 -0
  154. data/doc/TaskJuggler/Scoreboard.html +1201 -0
  155. data/doc/TaskJuggler/SheetHandlerBase.html +1297 -0
  156. data/doc/TaskJuggler/SheetReceiver.html +1398 -0
  157. data/doc/TaskJuggler/SheetSender.html +1168 -0
  158. data/doc/TaskJuggler/Shift.html +751 -0
  159. data/doc/TaskJuggler/ShiftAssignment.html +1008 -0
  160. data/doc/TaskJuggler/ShiftAssignments.html +1413 -0
  161. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +734 -0
  162. data/doc/TaskJuggler/ShiftScenario.html +782 -0
  163. data/doc/TaskJuggler/SimpleQueryExpander.html +732 -0
  164. data/doc/TaskJuggler/SortListAttribute.html +691 -0
  165. data/doc/TaskJuggler/StatusSheetReceiver.html +678 -0
  166. data/doc/TaskJuggler/StatusSheetReport.html +935 -0
  167. data/doc/TaskJuggler/StatusSheetSender.html +808 -0
  168. data/doc/TaskJuggler/StdIoWrapper.html +696 -0
  169. data/doc/TaskJuggler/StringAttribute.html +733 -0
  170. data/doc/TaskJuggler/SymbolAttribute.html +691 -0
  171. data/doc/TaskJuggler/SyntaxReference.html +1240 -0
  172. data/doc/TaskJuggler/TOCEntry.html +836 -0
  173. data/doc/TaskJuggler/TSResourceRecord.html +732 -0
  174. data/doc/TaskJuggler/TSTaskRecord.html +744 -0
  175. data/doc/TaskJuggler/TableColumnDefinition.html +949 -0
  176. data/doc/TaskJuggler/TableOfContents.html +790 -0
  177. data/doc/TaskJuggler/TableReport.html +2555 -0
  178. data/doc/TaskJuggler/Task.html +890 -0
  179. data/doc/TaskJuggler/TaskDepListAttribute.html +773 -0
  180. data/doc/TaskJuggler/TaskDependency.html +832 -0
  181. data/doc/TaskJuggler/TaskListAttribute.html +773 -0
  182. data/doc/TaskJuggler/TaskListRE.html +736 -0
  183. data/doc/TaskJuggler/TaskScenario.html +5180 -0
  184. data/doc/TaskJuggler/TernarySearchTree.html +1341 -0
  185. data/doc/TaskJuggler/TextFormatter.html +973 -0
  186. data/doc/TaskJuggler/TextParser.html +1862 -0
  187. data/doc/TaskJuggler/TextParser/Macro.html +708 -0
  188. data/doc/TaskJuggler/TextParser/MacroTable.html +832 -0
  189. data/doc/TaskJuggler/TextParser/Pattern.html +1743 -0
  190. data/doc/TaskJuggler/TextParser/Rule.html +1419 -0
  191. data/doc/TaskJuggler/TextParser/Scanner.html +1516 -0
  192. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +661 -0
  193. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +727 -0
  194. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +724 -0
  195. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +1095 -0
  196. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +760 -0
  197. data/doc/TaskJuggler/TextParser/StackElement.html +940 -0
  198. data/doc/TaskJuggler/TextParser/State.html +1015 -0
  199. data/doc/TaskJuggler/TextParser/StateTransition.html +808 -0
  200. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +711 -0
  201. data/doc/TaskJuggler/TextParser/TokenDoc.html +742 -0
  202. data/doc/TaskJuggler/TextReport.html +921 -0
  203. data/doc/TaskJuggler/TimeSheet.html +1264 -0
  204. data/doc/TaskJuggler/TimeSheetReceiver.html +675 -0
  205. data/doc/TaskJuggler/TimeSheetRecord.html +1415 -0
  206. data/doc/TaskJuggler/TimeSheetReport.html +1013 -0
  207. data/doc/TaskJuggler/TimeSheetSender.html +700 -0
  208. data/doc/TaskJuggler/TimeSheetSummary.html +959 -0
  209. data/doc/TaskJuggler/TimeSheets.html +736 -0
  210. data/doc/TaskJuggler/Tj3.html +857 -0
  211. data/doc/TaskJuggler/Tj3AppBase.html +942 -0
  212. data/doc/TaskJuggler/Tj3Client.html +1510 -0
  213. data/doc/TaskJuggler/Tj3Daemon.html +870 -0
  214. data/doc/TaskJuggler/Tj3Man.html +768 -0
  215. data/doc/TaskJuggler/Tj3SheetAppBase.html +758 -0
  216. data/doc/TaskJuggler/Tj3SsReceiver.html +747 -0
  217. data/doc/TaskJuggler/Tj3SsSender.html +780 -0
  218. data/doc/TaskJuggler/Tj3TsReceiver.html +747 -0
  219. data/doc/TaskJuggler/Tj3TsSender.html +767 -0
  220. data/doc/TaskJuggler/Tj3TsSummary.html +775 -0
  221. data/doc/TaskJuggler/TjException.html +692 -0
  222. data/doc/TaskJuggler/TjRuntimeError.html +606 -0
  223. data/doc/TaskJuggler/TjTime.html +3117 -0
  224. data/doc/TaskJuggler/TjpExample.html +897 -0
  225. data/doc/TaskJuggler/TjpExportRE.html +1772 -0
  226. data/doc/TaskJuggler/TjpSyntaxRules.html +14329 -0
  227. data/doc/TaskJuggler/URLParameter.html +691 -0
  228. data/doc/TaskJuggler/UserManual.html +1224 -0
  229. data/doc/TaskJuggler/VimSyntax.html +1064 -0
  230. data/doc/TaskJuggler/WebServer.html +757 -0
  231. data/doc/TaskJuggler/WelcomePage.html +789 -0
  232. data/doc/TaskJuggler/WorkingHours.html +1218 -0
  233. data/doc/TaskJuggler/WorkingHoursAttribute.html +756 -0
  234. data/doc/TaskJuggler/XMLBlob.html +707 -0
  235. data/doc/TaskJuggler/XMLComment.html +702 -0
  236. data/doc/TaskJuggler/XMLDocument.html +803 -0
  237. data/doc/TaskJuggler/XMLElement.html +990 -0
  238. data/doc/TaskJuggler/XMLNamedText.html +663 -0
  239. data/doc/TaskJuggler/XMLText.html +717 -0
  240. data/doc/index.html +4518 -0
  241. data/doc/lib/taskjuggler/AccountScenario_rb.html +69 -0
  242. data/doc/lib/taskjuggler/Account_rb.html +71 -0
  243. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +67 -0
  244. data/doc/lib/taskjuggler/Allocation_rb.html +71 -0
  245. data/doc/lib/taskjuggler/AppConfig_rb.html +69 -0
  246. data/doc/lib/taskjuggler/AttributeBase_rb.html +69 -0
  247. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +67 -0
  248. data/doc/lib/taskjuggler/Attributes_rb.html +83 -0
  249. data/doc/lib/taskjuggler/BatchProcessor_rb.html +71 -0
  250. data/doc/lib/taskjuggler/Booking_rb.html +67 -0
  251. data/doc/lib/taskjuggler/ChargeSet_rb.html +69 -0
  252. data/doc/lib/taskjuggler/Charge_rb.html +69 -0
  253. data/doc/lib/taskjuggler/DataCache_rb.html +71 -0
  254. data/doc/lib/taskjuggler/FileList_rb.html +67 -0
  255. data/doc/lib/taskjuggler/HTMLDocument_rb.html +71 -0
  256. data/doc/lib/taskjuggler/HTMLElements_rb.html +69 -0
  257. data/doc/lib/taskjuggler/IntervalList_rb.html +69 -0
  258. data/doc/lib/taskjuggler/Interval_rb.html +69 -0
  259. data/doc/lib/taskjuggler/Journal_rb.html +67 -0
  260. data/doc/lib/taskjuggler/KeywordArray_rb.html +67 -0
  261. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +77 -0
  262. data/doc/lib/taskjuggler/Limits_rb.html +69 -0
  263. data/doc/lib/taskjuggler/LogFile_rb.html +69 -0
  264. data/doc/lib/taskjuggler/Log_rb.html +71 -0
  265. data/doc/lib/taskjuggler/LogicalExpression_rb.html +73 -0
  266. data/doc/lib/taskjuggler/LogicalFunction_rb.html +69 -0
  267. data/doc/lib/taskjuggler/LogicalOperation_rb.html +69 -0
  268. data/doc/lib/taskjuggler/MessageHandler_rb.html +69 -0
  269. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +77 -0
  270. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +69 -0
  271. data/doc/lib/taskjuggler/Project_rb.html +113 -0
  272. data/doc/lib/taskjuggler/PropertyList_rb.html +67 -0
  273. data/doc/lib/taskjuggler/PropertySet_rb.html +71 -0
  274. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +67 -0
  275. data/doc/lib/taskjuggler/Query_rb.html +69 -0
  276. data/doc/lib/taskjuggler/RealFormat_rb.html +67 -0
  277. data/doc/lib/taskjuggler/ResourceScenario_rb.html +69 -0
  278. data/doc/lib/taskjuggler/Resource_rb.html +71 -0
  279. data/doc/lib/taskjuggler/RichText/Document_rb.html +73 -0
  280. data/doc/lib/taskjuggler/RichText/Element_rb.html +75 -0
  281. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +73 -0
  282. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +67 -0
  283. data/doc/lib/taskjuggler/RichText/Parser_rb.html +75 -0
  284. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +75 -0
  285. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +73 -0
  286. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +73 -0
  287. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +75 -0
  288. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +71 -0
  289. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +69 -0
  290. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +71 -0
  291. data/doc/lib/taskjuggler/RichText/Snip_rb.html +71 -0
  292. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +67 -0
  293. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +71 -0
  294. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +71 -0
  295. data/doc/lib/taskjuggler/RichText_rb.html +73 -0
  296. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +69 -0
  297. data/doc/lib/taskjuggler/ScenarioData_rb.html +71 -0
  298. data/doc/lib/taskjuggler/Scenario_rb.html +69 -0
  299. data/doc/lib/taskjuggler/Scoreboard_rb.html +69 -0
  300. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +75 -0
  301. data/doc/lib/taskjuggler/SheetReceiver_rb.html +81 -0
  302. data/doc/lib/taskjuggler/SheetSender_rb.html +79 -0
  303. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +71 -0
  304. data/doc/lib/taskjuggler/ShiftScenario_rb.html +69 -0
  305. data/doc/lib/taskjuggler/Shift_rb.html +71 -0
  306. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +69 -0
  307. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +69 -0
  308. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +69 -0
  309. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +67 -0
  310. data/doc/lib/taskjuggler/SyntaxReference_rb.html +75 -0
  311. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +67 -0
  312. data/doc/lib/taskjuggler/TaskDependency_rb.html +67 -0
  313. data/doc/lib/taskjuggler/TaskJuggler_rb.html +75 -0
  314. data/doc/lib/taskjuggler/TaskScenario_rb.html +71 -0
  315. data/doc/lib/taskjuggler/Task_rb.html +71 -0
  316. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +69 -0
  317. data/doc/lib/taskjuggler/TextFormatter_rb.html +69 -0
  318. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +67 -0
  319. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +71 -0
  320. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +69 -0
  321. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +77 -0
  322. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +67 -0
  323. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +67 -0
  324. data/doc/lib/taskjuggler/TextParser/State_rb.html +67 -0
  325. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +67 -0
  326. data/doc/lib/taskjuggler/TextParser_rb.html +79 -0
  327. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +69 -0
  328. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +69 -0
  329. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +69 -0
  330. data/doc/lib/taskjuggler/TimeSheets_rb.html +67 -0
  331. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +79 -0
  332. data/doc/lib/taskjuggler/Tj3Config_rb.html +71 -0
  333. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +69 -0
  334. data/doc/lib/taskjuggler/TjException_rb.html +67 -0
  335. data/doc/lib/taskjuggler/TjTime_rb.html +71 -0
  336. data/doc/lib/taskjuggler/TjpExample_rb.html +69 -0
  337. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +67 -0
  338. data/doc/lib/taskjuggler/URLParameter_rb.html +69 -0
  339. data/doc/lib/taskjuggler/UTF8String_rb.html +69 -0
  340. data/doc/lib/taskjuggler/UserManual_rb.html +81 -0
  341. data/doc/lib/taskjuggler/VimSyntax_rb.html +69 -0
  342. data/doc/lib/taskjuggler/WorkingHours_rb.html +71 -0
  343. data/doc/lib/taskjuggler/XMLDocument_rb.html +69 -0
  344. data/doc/lib/taskjuggler/XMLElement_rb.html +69 -0
  345. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +75 -0
  346. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +75 -0
  347. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +75 -0
  348. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +71 -0
  349. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +71 -0
  350. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +71 -0
  351. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +71 -0
  352. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +71 -0
  353. data/doc/lib/taskjuggler/apps/Tj3_rb.html +71 -0
  354. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +69 -0
  355. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +71 -0
  356. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +83 -0
  357. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +85 -0
  358. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +73 -0
  359. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +69 -0
  360. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +81 -0
  361. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +71 -0
  362. data/doc/lib/taskjuggler/deep_copy_rb.html +67 -0
  363. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +69 -0
  364. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +69 -0
  365. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +69 -0
  366. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +75 -0
  367. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +69 -0
  368. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +67 -0
  369. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +69 -0
  370. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +79 -0
  371. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +69 -0
  372. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +69 -0
  373. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +69 -0
  374. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +69 -0
  375. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +67 -0
  376. data/doc/lib/taskjuggler/reports/Navigator_rb.html +69 -0
  377. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +71 -0
  378. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +67 -0
  379. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +67 -0
  380. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +67 -0
  381. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +67 -0
  382. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +67 -0
  383. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +69 -0
  384. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +71 -0
  385. data/doc/lib/taskjuggler/reports/Report_rb.html +93 -0
  386. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +75 -0
  387. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +69 -0
  388. data/doc/lib/taskjuggler/reports/TableReport_rb.html +77 -0
  389. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +75 -0
  390. data/doc/lib/taskjuggler/reports/TextReport_rb.html +69 -0
  391. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +69 -0
  392. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +69 -0
  393. data/doc/lib/tj3_rb.html +69 -0
  394. data/doc/lib/tj3client_rb.html +69 -0
  395. data/doc/lib/tj3d_rb.html +69 -0
  396. data/doc/lib/tj3man_rb.html +69 -0
  397. data/doc/lib/tj3ss_receiver_rb.html +69 -0
  398. data/doc/lib/tj3ss_sender_rb.html +69 -0
  399. data/doc/lib/tj3ts_receiver_rb.html +69 -0
  400. data/doc/lib/tj3ts_sender_rb.html +69 -0
  401. data/doc/lib/tj3ts_summary_rb.html +69 -0
  402. data/doc/rdoc.css +706 -0
  403. data/examples/tutorial.tjp +2 -1
  404. data/lib/taskjuggler/Attributes.rb +33 -12
  405. data/lib/taskjuggler/DataCache.rb +17 -0
  406. data/lib/taskjuggler/FileList.rb +9 -0
  407. data/lib/taskjuggler/HTMLDocument.rb +19 -21
  408. data/lib/taskjuggler/HTMLElements.rb +46 -0
  409. data/lib/taskjuggler/Journal.rb +95 -46
  410. data/lib/taskjuggler/KeywordDocumentation.rb +248 -185
  411. data/lib/taskjuggler/LogicalExpression.rb +2 -2
  412. data/lib/taskjuggler/LogicalFunction.rb +22 -1
  413. data/lib/taskjuggler/LogicalOperation.rb +15 -5
  414. data/lib/taskjuggler/Project.rb +73 -16
  415. data/lib/taskjuggler/ProjectFileParser.rb +1 -1
  416. data/lib/taskjuggler/ProjectFileScanner.rb +27 -0
  417. data/lib/taskjuggler/PropertySet.rb +22 -45
  418. data/lib/taskjuggler/PropertyTreeNode.rb +99 -128
  419. data/lib/taskjuggler/Query.rb +39 -8
  420. data/lib/taskjuggler/Resource.rb +15 -6
  421. data/lib/taskjuggler/RichText/Document.rb +3 -3
  422. data/lib/taskjuggler/RichText/RTFQuery.rb +4 -4
  423. data/lib/taskjuggler/SheetHandlerBase.rb +14 -12
  424. data/lib/taskjuggler/SheetReceiver.rb +17 -15
  425. data/lib/taskjuggler/SheetSender.rb +16 -10
  426. data/{spec/support → lib/taskjuggler}/StdIoWrapper.rb +17 -0
  427. data/lib/taskjuggler/SyntaxReference.rb +2 -2
  428. data/lib/taskjuggler/TableColumnDefinition.rb +4 -3
  429. data/lib/taskjuggler/Task.rb +7 -2
  430. data/lib/taskjuggler/TaskJuggler.rb +74 -0
  431. data/lib/taskjuggler/TaskScenario.rb +62 -83
  432. data/lib/taskjuggler/TextParser.rb +20 -13
  433. data/lib/taskjuggler/TextParser/Scanner.rb +17 -1
  434. data/lib/taskjuggler/TimeSheetSummary.rb +9 -5
  435. data/lib/taskjuggler/TimeSheets.rb +6 -1
  436. data/lib/taskjuggler/Tj3AppBase.rb +41 -18
  437. data/lib/taskjuggler/Tj3Config.rb +1 -1
  438. data/lib/taskjuggler/TjTime.rb +6 -1
  439. data/lib/taskjuggler/TjpSyntaxRules.rb +408 -227
  440. data/lib/taskjuggler/UTF8String.rb +10 -0
  441. data/lib/taskjuggler/UserManual.rb +89 -81
  442. data/lib/taskjuggler/WorkingHours.rb +2 -3
  443. data/lib/taskjuggler/XMLDocument.rb +13 -4
  444. data/lib/taskjuggler/XMLElement.rb +31 -3
  445. data/lib/taskjuggler/apps/Tj3.rb +53 -21
  446. data/lib/taskjuggler/apps/Tj3Client.rb +19 -17
  447. data/lib/taskjuggler/apps/Tj3Daemon.rb +24 -21
  448. data/lib/taskjuggler/{Tj3Man.rb → apps/Tj3Man.rb} +2 -2
  449. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +14 -11
  450. data/lib/taskjuggler/apps/Tj3SsSender.rb +17 -14
  451. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +14 -11
  452. data/lib/taskjuggler/apps/Tj3TsSender.rb +16 -13
  453. data/lib/taskjuggler/apps/Tj3TsSummary.rb +16 -13
  454. data/lib/taskjuggler/reports/GanttChart.rb +1 -1
  455. data/lib/taskjuggler/reports/GanttRouter.rb +0 -2
  456. data/lib/taskjuggler/reports/GanttTaskBar.rb +2 -1
  457. data/lib/taskjuggler/reports/Navigator.rb +2 -1
  458. data/lib/taskjuggler/reports/NikuReport.rb +11 -7
  459. data/lib/taskjuggler/reports/ReportContext.rb +1 -0
  460. data/lib/taskjuggler/reports/StatusSheetReport.rb +7 -2
  461. data/lib/taskjuggler/reports/TableReport.rb +6 -4
  462. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -0
  463. data/lib/taskjuggler/reports/TjpExportRE.rb +4 -4
  464. data/lib/tj3man.rb +1 -1
  465. data/manual/Day_To_Day_Juggling +134 -137
  466. data/manual/TaskJuggler_2x_Migration +39 -32
  467. data/manual/The_TaskJuggler_Syntax +6 -0
  468. data/prj_cfg.rb +2 -3
  469. data/spec/StatusSheets_spec.rb +314 -0
  470. data/spec/TimeSheets_spec.rb +237 -16
  471. data/spec/Tj3_spec.rb +1 -1
  472. data/spec/support/DaemonControl.rb +1 -1
  473. data/tasks/changelog.rake +13 -3
  474. data/tasks/manual.rake +1 -1
  475. data/test/TestSuite/CSV-Reports/refs/celltext.csv +1 -1
  476. data/test/TestSuite/CSV-Reports/refs/resourcereport.csv +1 -1
  477. data/test/TestSuite/CSV-Reports/refs/resourcereport_with_tasks.csv +1 -1
  478. data/test/TestSuite/CSV-Reports/refs/sortByTree.csv +1 -1
  479. data/test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv +1 -1
  480. data/test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv +1 -1
  481. data/test/TestSuite/CSV-Reports/refs/taskreport.csv +1 -1
  482. data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +1 -1
  483. data/test/TestSuite/CSV-Reports/sortByTree.tjp +3 -1
  484. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +4 -1
  485. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +1 -1
  486. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +4 -1
  487. data/test/TestSuite/CSV-Reports/taskreport.tjp +3 -1
  488. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +3 -1
  489. data/test/TestSuite/CSV-Reports/weekly.tjp +1 -0
  490. data/test/TestSuite/Export-Reports/refs/Account.tjp +25 -30
  491. data/test/TestSuite/Export-Reports/refs/AdoptedTasks.tjp +1 -0
  492. data/test/TestSuite/Export-Reports/refs/Allocate-1.tjp +43 -72
  493. data/test/TestSuite/Export-Reports/refs/Alternative.tjp +17 -22
  494. data/test/TestSuite/Export-Reports/refs/AutoID.tjp +11 -10
  495. data/test/TestSuite/Export-Reports/refs/AutoMacros.tjp +1 -0
  496. data/test/TestSuite/Export-Reports/refs/Booking.tjp +16 -23
  497. data/test/TestSuite/Export-Reports/refs/Caption.tjp +13 -16
  498. data/test/TestSuite/Export-Reports/refs/Celltext.tjp +12 -16
  499. data/test/TestSuite/Export-Reports/refs/Comments.tjp +15 -19
  500. data/test/TestSuite/Export-Reports/refs/Complete.tjp +17 -26
  501. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
  502. data/test/TestSuite/Export-Reports/refs/Currencyformat.tjp +1 -0
  503. data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +1 -0
  504. data/test/TestSuite/Export-Reports/refs/Depends1.tjp +5 -4
  505. data/test/TestSuite/Export-Reports/refs/Durations.tjp +18 -27
  506. data/test/TestSuite/Export-Reports/refs/Efficiency.tjp +21 -20
  507. data/test/TestSuite/Export-Reports/refs/EnvVar.tjp +21 -0
  508. data/test/TestSuite/Export-Reports/refs/Flags.tjp +6 -5
  509. data/test/TestSuite/Export-Reports/refs/Gap.tjp +2 -1
  510. data/test/TestSuite/Export-Reports/refs/HtmlTaskReport.tjp +15 -19
  511. data/test/TestSuite/Export-Reports/refs/Include.tjp +21 -20
  512. data/test/TestSuite/Export-Reports/refs/Journal.tjp +6 -5
  513. data/test/TestSuite/Export-Reports/refs/Limits-1.tjp +92 -140
  514. data/test/TestSuite/Export-Reports/refs/LoadUnits.tjp +293 -566
  515. data/test/TestSuite/Export-Reports/refs/LogicalExpression.tjp +1 -0
  516. data/test/TestSuite/Export-Reports/refs/LogicalFunction.tjp +17 -22
  517. data/test/TestSuite/Export-Reports/refs/Macro-1.tjp +32 -53
  518. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +1 -0
  519. data/test/TestSuite/Export-Reports/refs/Macro-3.tjp +1 -0
  520. data/test/TestSuite/Export-Reports/refs/Manager.tjp +51 -50
  521. data/test/TestSuite/Export-Reports/refs/Mandatory.tjp +22 -31
  522. data/test/TestSuite/Export-Reports/refs/Milestone.tjp +1 -0
  523. data/test/TestSuite/Export-Reports/refs/MinMax.tjp +2 -1
  524. data/test/TestSuite/Export-Reports/refs/Niku.tjp +80 -139
  525. data/test/TestSuite/Export-Reports/refs/Numberformat.tjp +1 -0
  526. data/test/TestSuite/Export-Reports/refs/Period.tjp +1 -0
  527. data/test/TestSuite/Export-Reports/refs/Persistent.tjp +17 -21
  528. data/test/TestSuite/Export-Reports/refs/Precedes1.tjp +1 -0
  529. data/test/TestSuite/Export-Reports/refs/Priority.tjp +121 -107
  530. data/test/TestSuite/Export-Reports/refs/Project.tjp +1 -0
  531. data/test/TestSuite/Export-Reports/refs/ProjectIDs.tjp +1 -0
  532. data/test/TestSuite/Export-Reports/refs/Query.tjp +17 -26
  533. data/test/TestSuite/Export-Reports/refs/Reports.tjp +42 -61
  534. data/test/TestSuite/Export-Reports/refs/Resource.tjp +21 -20
  535. data/test/TestSuite/Export-Reports/refs/ResourcePrefix.tjp +16 -20
  536. data/test/TestSuite/Export-Reports/refs/ResourceRoot.tjp +36 -35
  537. data/test/TestSuite/Export-Reports/refs/Responsible.tjp +17 -21
  538. data/test/TestSuite/Export-Reports/refs/RollupResource.tjp +36 -35
  539. data/test/TestSuite/Export-Reports/refs/Scenario.tjp +3 -1
  540. data/test/TestSuite/Export-Reports/refs/Scheduling.tjp +1 -0
  541. data/test/TestSuite/Export-Reports/refs/Select.tjp +29 -43
  542. data/test/TestSuite/Export-Reports/refs/Shift.tjp +12 -11
  543. data/test/TestSuite/Export-Reports/refs/Simple.tjp +15 -19
  544. data/test/TestSuite/Export-Reports/refs/StatusSheet.tjp +33 -47
  545. data/test/TestSuite/Export-Reports/refs/String.tjp +9 -10
  546. data/test/TestSuite/Export-Reports/refs/Supplement.tjp +7 -8
  547. data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +10 -11
  548. data/test/TestSuite/Export-Reports/refs/TaskRoot.tjp +10 -9
  549. data/test/TestSuite/Export-Reports/refs/TimeFrame.tjp +9 -9
  550. data/test/TestSuite/Export-Reports/refs/TimeSheet1.tjp +25 -37
  551. data/test/TestSuite/Export-Reports/refs/Timezone.tjp +1 -0
  552. data/test/TestSuite/Export-Reports/refs/Vacation.tjp +26 -25
  553. data/test/TestSuite/Export-Reports/refs/tutorial.tjp +453 -821
  554. data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
  555. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  556. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  557. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  558. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  559. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  560. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
  561. data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
  562. data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
  563. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  564. data/test/TestSuite/{ReportGenerator/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
  565. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +27 -3
  566. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions3.tjp +20 -0
  567. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions4.tjp +16 -0
  568. data/test/TestSuite/ReportGenerator/Correct/refs/DependencyList-1.csv +4 -0
  569. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +2 -0
  570. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-2.csv +8 -0
  571. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions3-1.csv +4 -0
  572. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions4-1.csv +2 -0
  573. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +3 -1
  574. data/test/TestSuite/Scheduler/Correct/Booking.tjp +8 -7
  575. data/test/TestSuite/Scheduler/Correct/Booking2.tjp +16 -9
  576. data/test/TestSuite/Scheduler/Correct/Booking3.tjp +28 -0
  577. data/test/TestSuite/Scheduler/Correct/Container.tjp +2 -2
  578. data/test/TestSuite/Scheduler/Correct/Depends.tjp +3 -3
  579. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +4 -4
  580. data/test/TestSuite/Scheduler/Correct/Limits.tjp +3 -1
  581. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +2 -2
  582. data/test/TestSuite/Scheduler/Correct/MultipleMandatories.tjp +2 -2
  583. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +2 -2
  584. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +3 -3
  585. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +3 -3
  586. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +3 -3
  587. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +7 -7
  588. data/test/TestSuite/Scheduler/Correct/Scenarios.tjp +2 -2
  589. data/test/TestSuite/Scheduler/Correct/Shift.tjp +7 -5
  590. data/test/TestSuite/Scheduler/Correct/Shift2.tjp +1 -1
  591. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +5 -2
  592. data/test/TestSuite/Scheduler/Errors/booking_no_duty.tjp +1 -1
  593. data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +4 -2
  594. data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +4 -2
  595. data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +4 -2
  596. data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +4 -2
  597. data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +4 -2
  598. data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +4 -2
  599. data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +4 -2
  600. data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +4 -2
  601. data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +5 -2
  602. data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +4 -2
  603. data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +4 -2
  604. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  605. data/test/TestSuite/StatusSheets/run +1 -1
  606. data/test/TestSuite/Syntax/Correct/Booking.tjp +0 -5
  607. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
  608. data/test/TestSuite/Syntax/Correct/EnvVar.tjp +12 -0
  609. data/test/TestSuite/Syntax/Correct/Freeze.tjp +1 -3
  610. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +9 -5
  611. data/test/TestSuite/Syntax/Correct/Priority.tjp +22 -11
  612. data/test/TestSuite/Syntax/Correct/Scenario.tjp +1 -1
  613. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +2 -0
  614. data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +4 -4
  615. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +20 -0
  616. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -6
  617. data/test/TestSuite/Syntax/Correct/tutorial.tjp +2 -1
  618. data/test/TestSuite/Syntax/Errors/no_own_resource_booking.tjp +16 -0
  619. data/test/TestSuite/Syntax/Errors/no_own_task_booking.tjp +16 -0
  620. data/test/TestSuite/Syntax/Errors/resourceroot_leaf.tjp +10 -0
  621. data/test/TestSuite/Syntax/Errors/runaway_token.tjp +8 -0
  622. data/test/TestSuite/Syntax/Errors/sorting_bsi.tjp +11 -0
  623. data/test/TestSuite/Syntax/Errors/ss_no_tracking_scenario.tjp +14 -0
  624. data/test/TestSuite/Syntax/Errors/taskroot_leaf.tjp +8 -0
  625. data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +4 -2
  626. data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +4 -2
  627. data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +4 -2
  628. data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +4 -2
  629. data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +4 -2
  630. data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +4 -2
  631. data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +4 -2
  632. data/test/TestSuite/Syntax/Errors/ts_no_tracking_scenario.tjp +14 -0
  633. data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +4 -2
  634. data/test/TestSuite/Syntax/Errors/unknown_env_var.tjp +7 -0
  635. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  636. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  637. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  638. data/test/test_Export-Reports.rb +3 -0
  639. data/test/test_Journal.rb +4 -4
  640. data/test/test_PropertySet.rb +5 -5
  641. data/test/test_Syntax.rb +3 -0
  642. data/test/test_WorkingHours.rb +11 -18
  643. metadata +1012 -649
  644. data/lib/exchangebug.rb +0 -42
  645. data/lib/ruby-signal-bug.rb +0 -55
  646. data/spec/tj3client.log +0 -23
  647. data/test/TestSuite/CSV-Reports/alert.tjp +0 -9
  648. data/test/TestSuite/CSV-Reports/refs/alert.csv +0 -15
  649. data/test/TestSuite/Export-Reports/refs/CriticalPath.tjp +0 -41
  650. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -89
  651. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -79
  652. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  653. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  654. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -1
  655. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -78
  656. data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -6
  657. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  658. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +0 -66
  659. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +0 -413
  660. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  661. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  662. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  663. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  664. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  665. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  666. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  667. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  668. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  669. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  670. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  671. data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
  672. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  673. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  674. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  675. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
  676. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  677. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  678. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  679. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  680. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  681. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  682. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  683. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  684. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  685. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  686. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  687. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  688. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  689. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  690. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  691. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  692. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +0 -33
  693. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  694. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  695. data/test/TestSuite/Syntax/Correct/niku.xml +0 -30
  696. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +0 -11
  697. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -0,0 +1,1266 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: TaskJuggler::ReportBase</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/taskjuggler/reports/ReportBase_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/taskjuggler/reports/ReportBase.rb">lib/taskjuggler/reports/ReportBase.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="../Object.html">Object</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-new">::new</a></li>
73
+
74
+ <li><a href="#method-i-a">#a</a></li>
75
+
76
+ <li><a href="#method-i-filterResourceList">#filterResourceList</a></li>
77
+
78
+ <li><a href="#method-i-filterTaskList">#filterTaskList</a></li>
79
+
80
+ <li><a href="#method-i-generateHtmlTableFrame">#generateHtmlTableFrame</a></li>
81
+
82
+ <li><a href="#method-i-generateHtmlTableRow">#generateHtmlTableRow</a></li>
83
+
84
+ <li><a href="#method-i-generateIntermediateFormat">#generateIntermediateFormat</a></li>
85
+
86
+ <li><a href="#method-i-rt_to_html">#rt_to_html</a></li>
87
+
88
+ <li><a href="#method-i-scaleValue">#scaleValue</a></li>
89
+
90
+ <li><a href="#method-i-standardFilterOps">#standardFilterOps</a></li>
91
+
92
+ <li><a href="#method-i-to_csv">#to_csv</a></li>
93
+
94
+ <li><a href="#method-i-to_html">#to_html</a></li>
95
+
96
+ </ul>
97
+ </div>
98
+
99
+
100
+ <!-- Included Modules -->
101
+
102
+ </div>
103
+
104
+ <div id="project-metadata">
105
+
106
+
107
+ <div id="fileindex-section" class="section project-section">
108
+ <h3 class="section-header">Files</h3>
109
+ <ul>
110
+
111
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
112
+
113
+ <li class="file"><a href="../COPYING.html">COPYING</a></li>
114
+
115
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
116
+
117
+ </ul>
118
+ </div>
119
+
120
+
121
+ <div id="classindex-section" class="section project-section">
122
+ <h3 class="section-header">Class Index
123
+ <span class="search-toggle"><img src="../images/find.png"
124
+ height="16" width="16" alt="[+]"
125
+ title="show/hide quicksearch" /></span></h3>
126
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
127
+ <fieldset>
128
+ <legend>Quicksearch</legend>
129
+ <input type="text" name="quicksearch" value=""
130
+ class="quicksearch-field" />
131
+ </fieldset>
132
+ </form>
133
+
134
+ <ul class="link-list">
135
+
136
+ <li><a href="../TaskJuggler.html">TaskJuggler</a></li>
137
+
138
+ <li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
139
+
140
+ <li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
141
+
142
+ <li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
143
+
144
+ <li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
145
+
146
+ <li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
147
+
148
+ <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
149
+
150
+ <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
151
+
152
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
153
+
154
+ <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
155
+
156
+ <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
157
+
158
+ <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
159
+
160
+ <li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
161
+
162
+ <li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
163
+
164
+ <li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
165
+
166
+ <li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
167
+
168
+ <li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
169
+
170
+ <li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
171
+
172
+ <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
173
+
174
+ <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
175
+
176
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
177
+
178
+ <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
179
+
180
+ <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
181
+
182
+ <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
183
+
184
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
185
+
186
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
187
+
188
+ <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
189
+
190
+ <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
191
+
192
+ <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
193
+
194
+ <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
195
+
196
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
197
+
198
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
199
+
200
+ <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
201
+
202
+ <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
203
+
204
+ <li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
205
+
206
+ <li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
207
+
208
+ <li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
209
+
210
+ <li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
211
+
212
+ <li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
213
+
214
+ <li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
215
+
216
+ <li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
217
+
218
+ <li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
219
+
220
+ <li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
221
+
222
+ <li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
223
+
224
+ <li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
225
+
226
+ <li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
227
+
228
+ <li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
229
+
230
+ <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
231
+
232
+ <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
233
+
234
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
235
+
236
+ <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
237
+
238
+ <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
239
+
240
+ <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
241
+
242
+ <li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
243
+
244
+ <li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
245
+
246
+ <li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
247
+
248
+ <li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
249
+
250
+ <li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
251
+
252
+ <li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
253
+
254
+ <li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
255
+
256
+ <li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
257
+
258
+ <li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
259
+
260
+ <li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
261
+
262
+ <li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
263
+
264
+ <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
265
+
266
+ <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
267
+
268
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
269
+
270
+ <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
271
+
272
+ <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
273
+
274
+ <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
275
+
276
+ <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
277
+
278
+ <li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
279
+
280
+ <li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
281
+
282
+ <li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
283
+
284
+ <li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
285
+
286
+ <li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
287
+
288
+ <li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
289
+
290
+ <li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
291
+
292
+ <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
293
+
294
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
295
+
296
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
297
+
298
+ <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
299
+
300
+ <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
301
+
302
+ <li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
303
+
304
+ <li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
305
+
306
+ <li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
307
+
308
+ <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
309
+
310
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
311
+
312
+ <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
313
+
314
+ <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
315
+
316
+ <li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
317
+
318
+ <li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
319
+
320
+ <li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
321
+
322
+ <li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
323
+
324
+ <li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
325
+
326
+ <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
327
+
328
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
329
+
330
+ <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
331
+
332
+ <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
333
+
334
+ <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
335
+
336
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
337
+
338
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
339
+
340
+ <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
341
+
342
+ <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
343
+
344
+ <li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
345
+
346
+ <li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
347
+
348
+ <li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
349
+
350
+ <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
351
+
352
+ <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
353
+
354
+ <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
355
+
356
+ <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
357
+
358
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
359
+
360
+ <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
361
+
362
+ <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
363
+
364
+ <li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
365
+
366
+ <li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
367
+
368
+ <li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
369
+
370
+ <li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
371
+
372
+ <li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
373
+
374
+ <li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
375
+
376
+ <li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
377
+
378
+ <li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
379
+
380
+ <li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
381
+
382
+ <li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
383
+
384
+ <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
385
+
386
+ <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
387
+
388
+ <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
389
+
390
+ <li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
391
+
392
+ <li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
393
+
394
+ <li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
395
+
396
+ <li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
397
+
398
+ <li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
399
+
400
+ <li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
401
+
402
+ <li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
403
+
404
+ <li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
405
+
406
+ <li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
407
+
408
+ <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
409
+
410
+ <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
411
+
412
+ <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
413
+
414
+ <li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
415
+
416
+ <li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
417
+
418
+ <li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
419
+
420
+ <li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
421
+
422
+ <li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
423
+
424
+ <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
425
+
426
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
427
+
428
+ <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
429
+
430
+ <li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
431
+
432
+ <li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
433
+
434
+ <li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
435
+
436
+ <li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
437
+
438
+ <li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
439
+
440
+ <li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
441
+
442
+ <li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
443
+
444
+ <li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
445
+
446
+ <li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
447
+
448
+ <li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
449
+
450
+ <li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
451
+
452
+ <li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
453
+
454
+ <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
455
+
456
+ <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
457
+
458
+ <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
459
+
460
+ <li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
461
+
462
+ <li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
463
+
464
+ <li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
465
+
466
+ <li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
467
+
468
+ <li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
469
+
470
+ <li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
471
+
472
+ <li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
473
+
474
+ <li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
475
+
476
+ <li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
477
+
478
+ <li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
479
+
480
+ <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
481
+
482
+ <li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
483
+
484
+ <li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
485
+
486
+ <li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
487
+
488
+ <li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
489
+
490
+ <li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
491
+
492
+ <li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
493
+
494
+ <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
495
+
496
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
497
+
498
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
499
+
500
+ <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
501
+
502
+ <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
503
+
504
+ <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
505
+
506
+ <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
507
+
508
+ <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
509
+
510
+ <li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
511
+
512
+ <li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
513
+
514
+ <li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
515
+
516
+ <li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
517
+
518
+ <li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
519
+
520
+ <li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
521
+
522
+ <li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
523
+
524
+ <li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
525
+
526
+ <li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
527
+
528
+ <li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
529
+
530
+ <li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
531
+
532
+ <li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
533
+
534
+ <li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
535
+
536
+ <li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
537
+
538
+ <li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
539
+
540
+ <li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
541
+
542
+ <li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
543
+
544
+ <li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
545
+
546
+ <li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
547
+
548
+ <li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
549
+
550
+ <li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
551
+
552
+ <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
553
+
554
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
555
+
556
+ <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
557
+
558
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
559
+
560
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
561
+
562
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
563
+
564
+ <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
565
+
566
+ <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
567
+
568
+ <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
569
+
570
+ <li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
571
+
572
+ <li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
573
+
574
+ <li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
575
+
576
+ <li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
577
+
578
+ <li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
579
+
580
+ <li><a href="../Diff.html">Diff</a></li>
581
+
582
+ <li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
583
+
584
+ <li><a href="../AppConfig.html">AppConfig</a></li>
585
+
586
+ <li><a href="../Diffable.html">Diffable</a></li>
587
+
588
+ <li><a href="../DiffableString.html">DiffableString</a></li>
589
+
590
+ <li><a href="../Object.html">Object</a></li>
591
+
592
+ <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
593
+
594
+ <li><a href="../String.html">String</a></li>
595
+
596
+ </ul>
597
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
598
+ </div>
599
+
600
+
601
+ </div>
602
+ </div>
603
+
604
+ <div id="documentation">
605
+ <h1 class="class">TaskJuggler::ReportBase</h1>
606
+
607
+ <div id="description">
608
+ <p>
609
+ This is the abstract base class for all kinds of reports. The derived
610
+ classes must implement the generateIntermediateFormat function as well as
611
+ the to_* members.
612
+ </p>
613
+
614
+ </div>
615
+
616
+ <!-- Constants -->
617
+
618
+
619
+ <!-- Attributes -->
620
+
621
+
622
+ <!-- Methods -->
623
+
624
+ <div id="public-class-method-details" class="method-section section">
625
+ <h3 class="section-header">Public Class Methods</h3>
626
+
627
+
628
+ <div id="new-method" class="method-detail ">
629
+ <a name="method-c-new"></a>
630
+
631
+ <div class="method-heading">
632
+
633
+ <span class="method-name">new</span><span
634
+ class="method-args">(report)</span>
635
+ <span class="method-click-advice">click to toggle source</span>
636
+
637
+ </div>
638
+
639
+ <div class="method-description">
640
+
641
+
642
+
643
+
644
+
645
+ <div class="method-source-code"
646
+ id="new-source">
647
+ <pre>
648
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 21</span>
649
+ 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
650
+ 22: <span class="ruby-ivar">@report</span> = <span class="ruby-identifier">report</span>
651
+ 23: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">project</span>
652
+ 24: <span class="ruby-keyword kw">end</span></pre>
653
+ </div>
654
+
655
+ </div>
656
+
657
+
658
+
659
+
660
+ </div>
661
+
662
+
663
+ </div>
664
+
665
+ <div id="public-instance-method-details" class="method-section section">
666
+ <h3 class="section-header">Public Instance Methods</h3>
667
+
668
+
669
+ <div id="a-method" class="method-detail ">
670
+ <a name="method-i-a"></a>
671
+
672
+ <div class="method-heading">
673
+
674
+ <span class="method-name">a</span><span
675
+ class="method-args">(attribute)</span>
676
+ <span class="method-click-advice">click to toggle source</span>
677
+
678
+ </div>
679
+
680
+ <div class="method-description">
681
+
682
+ <p>
683
+ Convenience function to access a report attribute
684
+ </p>
685
+
686
+
687
+
688
+ <div class="method-source-code"
689
+ id="a-source">
690
+ <pre>
691
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 27</span>
692
+ 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attribute</span>)
693
+ 28: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">attribute</span>)
694
+ 29: <span class="ruby-keyword kw">end</span></pre>
695
+ </div>
696
+
697
+ </div>
698
+
699
+
700
+
701
+
702
+ </div>
703
+
704
+
705
+ <div id="filter-esource-ist-method" class="method-detail ">
706
+ <a name="method-i-filterResourceList"></a>
707
+
708
+ <div class="method-heading">
709
+
710
+ <span class="method-name">filterResourceList</span><span
711
+ class="method-args">(list_, task, hideExpr, rollupExpr, openNodes)</span>
712
+ <span class="method-click-advice">click to toggle source</span>
713
+
714
+ </div>
715
+
716
+ <div class="method-description">
717
+
718
+ <p>
719
+ Take the complete resource list and remove all resources that are matching
720
+ the hide expression, the rollup Expression or are not a descendent of
721
+ resourceRoot. In case task is not nil, a resource is only included if it is
722
+ assigned to the task in any of the reported scenarios.
723
+ </p>
724
+
725
+
726
+
727
+ <div class="method-source-code"
728
+ id="filter-esource-ist-source">
729
+ <pre>
730
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 85</span>
731
+ 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>)
732
+ 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>)
733
+ 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>))
734
+ 88: <span class="ruby-comment cmt"># Remove all resources that are not descendents of the resourceRoot.</span>
735
+ 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>) }
736
+ 90: <span class="ruby-keyword kw">end</span>
737
+ 91:
738
+ 92: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>
739
+ 93: <span class="ruby-comment cmt"># If we have a task we need to check that the resources are assigned</span>
740
+ 94: <span class="ruby-comment cmt"># to the task in any of the reported scenarios.</span>
741
+ 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>))
742
+ 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>
743
+ 97: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
744
+ 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>
745
+ 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>)
746
+ 100: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
747
+ 101: <span class="ruby-keyword kw">break</span>;
748
+ 102: <span class="ruby-keyword kw">end</span>
749
+ 103: <span class="ruby-keyword kw">end</span>
750
+ 104: <span class="ruby-identifier">delete</span>
751
+ 105: <span class="ruby-keyword kw">end</span>
752
+ 106: <span class="ruby-keyword kw">end</span>
753
+ 107:
754
+ 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>,
755
+ 109: <span class="ruby-identifier">resourceRoot</span>)
756
+ 110: <span class="ruby-keyword kw">end</span></pre>
757
+ </div>
758
+
759
+ </div>
760
+
761
+
762
+
763
+
764
+ </div>
765
+
766
+
767
+ <div id="filter-ask-ist-method" class="method-detail ">
768
+ <a name="method-i-filterTaskList"></a>
769
+
770
+ <div class="method-heading">
771
+
772
+ <span class="method-name">filterTaskList</span><span
773
+ class="method-args">(list_, resource, hideExpr, rollupExpr, openNodes)</span>
774
+ <span class="method-click-advice">click to toggle source</span>
775
+
776
+ </div>
777
+
778
+ <div class="method-description">
779
+
780
+ <p>
781
+ Take the complete task list and remove all tasks that are matching the hide
782
+ expression, the rollup Expression or are not a descendent of taskRoot. In
783
+ case resource is not nil, a task is only included if the resource is
784
+ allocated to it in any of the reported scenarios.
785
+ </p>
786
+
787
+
788
+
789
+ <div class="method-source-code"
790
+ id="filter-ask-ist-source">
791
+ <pre>
792
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 53</span>
793
+ 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>)
794
+ 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>)
795
+ 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>))
796
+ 56: <span class="ruby-comment cmt"># Remove all tasks that are not descendents of the taskRoot.</span>
797
+ 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>) }
798
+ 58: <span class="ruby-keyword kw">end</span>
799
+ 59:
800
+ 60: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resource</span>
801
+ 61: <span class="ruby-comment cmt"># If we have a resource we need to check that the resource is allocated</span>
802
+ 62: <span class="ruby-comment cmt"># to the tasks in any of the reported scenarios within the report time</span>
803
+ 63: <span class="ruby-comment cmt"># frame.</span>
804
+ 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>
805
+ 65: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
806
+ 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>
807
+ 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>))
808
+ 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>)
809
+ 69: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
810
+ 70: <span class="ruby-keyword kw">break</span>;
811
+ 71: <span class="ruby-keyword kw">end</span>
812
+ 72: <span class="ruby-keyword kw">end</span>
813
+ 73: <span class="ruby-identifier">delete</span>
814
+ 74: <span class="ruby-keyword kw">end</span>
815
+ 75: <span class="ruby-keyword kw">end</span>
816
+ 76:
817
+ 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>,
818
+ 78: <span class="ruby-identifier">taskRoot</span>)
819
+ 79: <span class="ruby-keyword kw">end</span></pre>
820
+ </div>
821
+
822
+ </div>
823
+
824
+
825
+
826
+
827
+ </div>
828
+
829
+
830
+ <div id="generate-ntermediate-ormat-method" class="method-detail ">
831
+ <a name="method-i-generateIntermediateFormat"></a>
832
+
833
+ <div class="method-heading">
834
+
835
+ <span class="method-name">generateIntermediateFormat</span><span
836
+ class="method-args">()</span>
837
+ <span class="method-click-advice">click to toggle source</span>
838
+
839
+ </div>
840
+
841
+ <div class="method-description">
842
+
843
+
844
+
845
+
846
+
847
+ <div class="method-source-code"
848
+ id="generate-ntermediate-ormat-source">
849
+ <pre>
850
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 31</span>
851
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
852
+ 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>
853
+ 33: <span class="ruby-node">%( header left center right footer
854
+ 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>
855
+ 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>))
856
+ 36:
857
+ 37: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-identifier">query</span>)
858
+ 38: <span class="ruby-keyword kw">end</span>
859
+ 39: <span class="ruby-keyword kw">end</span></pre>
860
+ </div>
861
+
862
+ </div>
863
+
864
+
865
+
866
+
867
+ </div>
868
+
869
+
870
+ <div id="to-csv-method" class="method-detail ">
871
+ <a name="method-i-to_csv"></a>
872
+
873
+ <div class="method-heading">
874
+
875
+ <span class="method-name">to_csv</span><span
876
+ class="method-args">()</span>
877
+ <span class="method-click-advice">click to toggle source</span>
878
+
879
+ </div>
880
+
881
+ <div class="method-description">
882
+
883
+
884
+
885
+
886
+
887
+ <div class="method-source-code"
888
+ id="to-csv-source">
889
+ <pre>
890
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 45</span>
891
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
892
+ 46: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'This function must be overriden by derived classes.'</span>
893
+ 47: <span class="ruby-keyword kw">end</span></pre>
894
+ </div>
895
+
896
+ </div>
897
+
898
+
899
+
900
+
901
+ </div>
902
+
903
+
904
+ <div id="to-html-method" class="method-detail ">
905
+ <a name="method-i-to_html"></a>
906
+
907
+ <div class="method-heading">
908
+
909
+ <span class="method-name">to_html</span><span
910
+ class="method-args">()</span>
911
+ <span class="method-click-advice">click to toggle source</span>
912
+
913
+ </div>
914
+
915
+ <div class="method-description">
916
+
917
+
918
+
919
+
920
+
921
+ <div class="method-source-code"
922
+ id="to-html-source">
923
+ <pre>
924
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 41</span>
925
+ 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
926
+ 42: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'This function must be overriden by derived classes.'</span>
927
+ 43: <span class="ruby-keyword kw">end</span></pre>
928
+ </div>
929
+
930
+ </div>
931
+
932
+
933
+
934
+
935
+ </div>
936
+
937
+
938
+ </div>
939
+
940
+ <div id="private-instance-method-details" class="method-section section">
941
+ <h3 class="section-header">Private Instance Methods</h3>
942
+
943
+
944
+ <div id="generate-tml-able-rame-method" class="method-detail ">
945
+ <a name="method-i-generateHtmlTableFrame"></a>
946
+
947
+ <div class="method-heading">
948
+
949
+ <span class="method-name">generateHtmlTableFrame</span><span
950
+ class="method-args">()</span>
951
+ <span class="method-click-advice">click to toggle source</span>
952
+
953
+ </div>
954
+
955
+ <div class="method-description">
956
+
957
+
958
+
959
+
960
+
961
+ <div class="method-source-code"
962
+ id="generate-tml-able-rame-source">
963
+ <pre>
964
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 114</span>
965
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHtmlTableFrame</span>
966
+ 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>,
967
+ 116: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>)
968
+ 117:
969
+ 118: <span class="ruby-comment cmt"># Headline box</span>
970
+ 119: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>)
971
+ 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>
972
+ 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>)
973
+ 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>))
974
+ 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>
975
+ 124: <span class="ruby-identifier">td</span>
976
+ 125: <span class="ruby-keyword kw">end</span>
977
+ 126: <span class="ruby-keyword kw">end</span>
978
+ 127:
979
+ 128: <span class="ruby-identifier">table</span>
980
+ 129: <span class="ruby-keyword kw">end</span></pre>
981
+ </div>
982
+
983
+ </div>
984
+
985
+
986
+
987
+
988
+ </div>
989
+
990
+
991
+ <div id="generate-tml-able-ow-method" class="method-detail ">
992
+ <a name="method-i-generateHtmlTableRow"></a>
993
+
994
+ <div class="method-heading">
995
+
996
+ <span class="method-name">generateHtmlTableRow</span><span
997
+ class="method-args">()</span>
998
+ <span class="method-click-advice">click to toggle source</span>
999
+
1000
+ </div>
1001
+
1002
+ <div class="method-description">
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+ <div class="method-source-code"
1009
+ id="generate-tml-able-ow-source">
1010
+ <pre>
1011
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 131</span>
1012
+ 131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHtmlTableRow</span>
1013
+ 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>
1014
+ 133: <span class="ruby-keyword kw">end</span></pre>
1015
+ </div>
1016
+
1017
+ </div>
1018
+
1019
+
1020
+
1021
+
1022
+ </div>
1023
+
1024
+
1025
+ <div id="rt-to-html-method" class="method-detail ">
1026
+ <a name="method-i-rt_to_html"></a>
1027
+
1028
+ <div class="method-heading">
1029
+
1030
+ <span class="method-name">rt_to_html</span><span
1031
+ class="method-args">(name)</span>
1032
+ <span class="method-click-advice">click to toggle source</span>
1033
+
1034
+ </div>
1035
+
1036
+ <div class="method-description">
1037
+
1038
+ <p>
1039
+ Convert the <a href="RichText.html">RichText</a> object <em>name</em> into
1040
+ a HTML form.
1041
+ </p>
1042
+
1043
+
1044
+
1045
+ <div class="method-source-code"
1046
+ id="rt-to-html-source">
1047
+ <pre>
1048
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 136</span>
1049
+ 136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-identifier">name</span>)
1050
+ 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>)
1051
+ 138:
1052
+ 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>
1053
+ 140: <span class="ruby-identifier">a</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">to_html</span>
1054
+ 141: <span class="ruby-keyword kw">end</span></pre>
1055
+ </div>
1056
+
1057
+ </div>
1058
+
1059
+
1060
+
1061
+
1062
+ </div>
1063
+
1064
+
1065
+ <div id="scale-alue-method" class="method-detail ">
1066
+ <a name="method-i-scaleValue"></a>
1067
+
1068
+ <div class="method-heading">
1069
+
1070
+ <span class="method-name">scaleValue</span><span
1071
+ class="method-args">(value, factors)</span>
1072
+ <span class="method-click-advice">click to toggle source</span>
1073
+
1074
+ </div>
1075
+
1076
+ <div class="method-description">
1077
+
1078
+ <p>
1079
+ This function converts number to strings that may include a unit. The unit
1080
+ is determined by @loadUnit. In the automatic modes, the shortest possible
1081
+ result is shown and the unit is always appended. <em>value</em> is the
1082
+ value to convert. <em>factors</em> determines the conversion factors for
1083
+ the different units. TODO: Delete when all users have been migrated to use
1084
+ <a href="Query.html">Query</a>!
1085
+ </p>
1086
+
1087
+
1088
+
1089
+ <div class="method-source-code"
1090
+ id="scale-alue-source">
1091
+ <pre>
1092
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 203</span>
1093
+ 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>)
1094
+ 204: <span class="ruby-identifier">loadUnit</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>)
1095
+ 205: <span class="ruby-identifier">numberFormat</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>)
1096
+ 206:
1097
+ 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>
1098
+ 208: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
1099
+ 209: <span class="ruby-identifier">options</span> = []
1100
+ 210: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
1101
+ 211: <span class="ruby-comment cmt"># should not exceed. A maximum of 0 means no limit.</span>
1102
+ 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> ]
1103
+ 213:
1104
+ 214: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1105
+ 215: <span class="ruby-identifier">shortest</span> = <span class="ruby-keyword kw">nil</span>
1106
+ 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>
1107
+ 217: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
1108
+ 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>)
1109
+ 219: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
1110
+ 220: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
1111
+ 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>
1112
+ 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>])
1113
+ 223: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">nil</span>
1114
+ 224: <span class="ruby-keyword kw">else</span>
1115
+ 225: <span class="ruby-identifier">options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
1116
+ 226: <span class="ruby-keyword kw">end</span>
1117
+ 227: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1118
+ 228: <span class="ruby-keyword kw">end</span>
1119
+ 229:
1120
+ 230: <span class="ruby-comment cmt"># Default to days in case they are all the same.</span>
1121
+ 231: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
1122
+ 232: <span class="ruby-comment cmt"># Find the shortest option.</span>
1123
+ 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>
1124
+ 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>
1125
+ 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>
1126
+ 236: <span class="ruby-keyword kw">end</span>
1127
+ 237:
1128
+ 238: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
1129
+ 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>
1130
+ 240: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
1131
+ 241: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
1132
+ 242: <span class="ruby-comment cmt"># other languages as well.</span>
1133
+ 243: <span class="ruby-identifier">units</span> = []
1134
+ 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>
1135
+ 245: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
1136
+ 246: <span class="ruby-keyword kw">else</span>
1137
+ 247: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
1138
+ 248: <span class="ruby-keyword kw">end</span>
1139
+ 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>]
1140
+ 250: <span class="ruby-keyword kw">else</span>
1141
+ 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>]
1142
+ 252: <span class="ruby-keyword kw">end</span>
1143
+ 253: <span class="ruby-keyword kw">else</span>
1144
+ 254: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
1145
+ 255: <span class="ruby-comment cmt"># included.</span>
1146
+ 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> ]
1147
+ 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>)])
1148
+ 258: <span class="ruby-keyword kw">end</span>
1149
+ 259: <span class="ruby-identifier">str</span>
1150
+ 260: <span class="ruby-keyword kw">end</span></pre>
1151
+ </div>
1152
+
1153
+ </div>
1154
+
1155
+
1156
+
1157
+
1158
+ </div>
1159
+
1160
+
1161
+ <div id="standard-ilter-ps-method" class="method-detail ">
1162
+ <a name="method-i-standardFilterOps"></a>
1163
+
1164
+ <div class="method-heading">
1165
+
1166
+ <span class="method-name">standardFilterOps</span><span
1167
+ class="method-args">(list, hideExpr, rollupExpr, openNodes, scopeProperty, root)</span>
1168
+ <span class="method-click-advice">click to toggle source</span>
1169
+
1170
+ </div>
1171
+
1172
+ <div class="method-description">
1173
+
1174
+ <p>
1175
+ This function implements the generic filtering functionality for all kinds
1176
+ of lists.
1177
+ </p>
1178
+
1179
+
1180
+
1181
+ <div class="method-source-code"
1182
+ id="standard-ilter-ps-source">
1183
+ <pre>
1184
+ <span class="ruby-comment cmt"># File lib/taskjuggler/reports/ReportBase.rb, line 145</span>
1185
+ 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>,
1186
+ 146: <span class="ruby-identifier">root</span>)
1187
+ 147: <span class="ruby-comment cmt"># Make a copy of the current Query.</span>
1188
+ 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>
1189
+ 149: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeProperty</span>
1190
+ 150:
1191
+ 151: <span class="ruby-comment cmt"># Remove all properties that the user wants to have hidden.</span>
1192
+ 152: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hideExpr</span>
1193
+ 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>
1194
+ 154: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">property</span>
1195
+ 155: <span class="ruby-identifier">hideExpr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
1196
+ 156: <span class="ruby-keyword kw">end</span>
1197
+ 157: <span class="ruby-keyword kw">end</span>
1198
+ 158:
1199
+ 159: <span class="ruby-comment cmt"># Remove all children of properties that the user has rolled-up.</span>
1200
+ 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>
1201
+ 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>
1202
+ 162: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1203
+ 163: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">false</span>
1204
+ 164: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">parent</span>)
1205
+ 165: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">parent</span>
1206
+ 166: <span class="ruby-comment cmt"># If openNodes is not nil, only the listed nodes will be unrolled.</span>
1207
+ 167: <span class="ruby-comment cmt"># If openNodes is nil, only the nodes that match rollupExpr will</span>
1208
+ 168: <span class="ruby-comment cmt"># not be unrolled.</span>
1209
+ 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>
1210
+ 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>))
1211
+ 171: <span class="ruby-identifier">delete</span> = <span class="ruby-keyword kw">true</span>
1212
+ 172: <span class="ruby-keyword kw">break</span>
1213
+ 173: <span class="ruby-keyword kw">end</span>
1214
+ 174: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1215
+ 175: <span class="ruby-keyword kw">end</span>
1216
+ 176: <span class="ruby-identifier">delete</span>
1217
+ 177: <span class="ruby-keyword kw">end</span>
1218
+ 178: <span class="ruby-keyword kw">end</span>
1219
+ 179:
1220
+ 180: <span class="ruby-comment cmt"># Re-add parents in tree mode</span>
1221
+ 181: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">treeMode?</span>
1222
+ 182: <span class="ruby-identifier">parents</span> = []
1223
+ 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>
1224
+ 184: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>
1225
+ 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>)
1226
+ 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>
1227
+ 187: <span class="ruby-identifier">parents</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">parent</span>)
1228
+ 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>
1229
+ 189: <span class="ruby-keyword kw">end</span>
1230
+ 190: <span class="ruby-keyword kw">end</span>
1231
+ 191: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">append</span>(<span class="ruby-identifier">parents</span>)
1232
+ 192: <span class="ruby-keyword kw">end</span>
1233
+ 193:
1234
+ 194: <span class="ruby-identifier">list</span>
1235
+ 195: <span class="ruby-keyword kw">end</span></pre>
1236
+ </div>
1237
+
1238
+ </div>
1239
+
1240
+
1241
+
1242
+
1243
+ </div>
1244
+
1245
+
1246
+ </div>
1247
+
1248
+
1249
+ </div>
1250
+
1251
+
1252
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
1253
+
1254
+ <p>Disabled; run with --debug to generate this.</p>
1255
+
1256
+ </div>
1257
+
1258
+ <div id="validator-badges">
1259
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1260
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
1261
+ Rdoc Generator</a> 1.1.6</small>.</p>
1262
+ </div>
1263
+
1264
+ </body>
1265
+ </html>
1266
+