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,1796 @@
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::PropertySet</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/PropertySet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/taskjuggler/PropertySet.rb">lib/taskjuggler/PropertySet.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-%5B%5D">#[]</a></li>
75
+
76
+ <li><a href="#method-i-addAttributeType">#addAttributeType</a></li>
77
+
78
+ <li><a href="#method-i-addProperty">#addProperty</a></li>
79
+
80
+ <li><a href="#method-i-attributeName">#attributeName</a></li>
81
+
82
+ <li><a href="#method-i-attributeType">#attributeType</a></li>
83
+
84
+ <li><a href="#method-i-clearProperties">#clearProperties</a></li>
85
+
86
+ <li><a href="#method-i-defaultValue">#defaultValue</a></li>
87
+
88
+ <li><a href="#method-i-each">#each</a></li>
89
+
90
+ <li><a href="#method-i-eachAttributeDefinition">#eachAttributeDefinition</a></li>
91
+
92
+ <li><a href="#method-i-empty%3F">#empty?</a></li>
93
+
94
+ <li><a href="#method-i-hasQuery%3F">#hasQuery?</a></li>
95
+
96
+ <li><a href="#method-i-index">#index</a></li>
97
+
98
+ <li><a href="#method-i-inheritedFromParent%3F">#inheritedFromParent?</a></li>
99
+
100
+ <li><a href="#method-i-inheritedFromProject%3F">#inheritedFromProject?</a></li>
101
+
102
+ <li><a href="#method-i-items">#items</a></li>
103
+
104
+ <li><a href="#method-i-knownAttribute%3F">#knownAttribute?</a></li>
105
+
106
+ <li><a href="#method-i-levelSeqNo">#levelSeqNo</a></li>
107
+
108
+ <li><a href="#method-i-maxDepth">#maxDepth</a></li>
109
+
110
+ <li><a href="#method-i-removeProperty">#removeProperty</a></li>
111
+
112
+ <li><a href="#method-i-scenarioSpecific%3F">#scenarioSpecific?</a></li>
113
+
114
+ <li><a href="#method-i-to_ary">#to_ary</a></li>
115
+
116
+ <li><a href="#method-i-to_s">#to_s</a></li>
117
+
118
+ <li><a href="#method-i-topLevelItems">#topLevelItems</a></li>
119
+
120
+ <li><a href="#method-i-userDefined%3F">#userDefined?</a></li>
121
+
122
+ </ul>
123
+ </div>
124
+
125
+
126
+ <!-- Included Modules -->
127
+
128
+ </div>
129
+
130
+ <div id="project-metadata">
131
+
132
+
133
+ <div id="fileindex-section" class="section project-section">
134
+ <h3 class="section-header">Files</h3>
135
+ <ul>
136
+
137
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
138
+
139
+ <li class="file"><a href="../COPYING.html">COPYING</a></li>
140
+
141
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
142
+
143
+ </ul>
144
+ </div>
145
+
146
+
147
+ <div id="classindex-section" class="section project-section">
148
+ <h3 class="section-header">Class Index
149
+ <span class="search-toggle"><img src="../images/find.png"
150
+ height="16" width="16" alt="[+]"
151
+ title="show/hide quicksearch" /></span></h3>
152
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
153
+ <fieldset>
154
+ <legend>Quicksearch</legend>
155
+ <input type="text" name="quicksearch" value=""
156
+ class="quicksearch-field" />
157
+ </fieldset>
158
+ </form>
159
+
160
+ <ul class="link-list">
161
+
162
+ <li><a href="../TaskJuggler.html">TaskJuggler</a></li>
163
+
164
+ <li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
165
+
166
+ <li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
167
+
168
+ <li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
169
+
170
+ <li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
171
+
172
+ <li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
173
+
174
+ <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
175
+
176
+ <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
177
+
178
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
179
+
180
+ <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
181
+
182
+ <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
183
+
184
+ <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
185
+
186
+ <li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
187
+
188
+ <li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
189
+
190
+ <li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
191
+
192
+ <li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
193
+
194
+ <li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
195
+
196
+ <li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
197
+
198
+ <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
199
+
200
+ <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
201
+
202
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
203
+
204
+ <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
205
+
206
+ <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
207
+
208
+ <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
209
+
210
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
211
+
212
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
213
+
214
+ <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
215
+
216
+ <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
217
+
218
+ <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
219
+
220
+ <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
221
+
222
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
223
+
224
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
225
+
226
+ <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
227
+
228
+ <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
229
+
230
+ <li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
231
+
232
+ <li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
233
+
234
+ <li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
235
+
236
+ <li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
237
+
238
+ <li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
239
+
240
+ <li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
241
+
242
+ <li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
243
+
244
+ <li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
245
+
246
+ <li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
247
+
248
+ <li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
249
+
250
+ <li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
251
+
252
+ <li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
253
+
254
+ <li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
255
+
256
+ <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
257
+
258
+ <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
259
+
260
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
261
+
262
+ <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
263
+
264
+ <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
265
+
266
+ <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
267
+
268
+ <li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
269
+
270
+ <li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
271
+
272
+ <li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
273
+
274
+ <li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
275
+
276
+ <li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
277
+
278
+ <li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
279
+
280
+ <li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
281
+
282
+ <li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
283
+
284
+ <li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
285
+
286
+ <li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
287
+
288
+ <li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
289
+
290
+ <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
291
+
292
+ <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
293
+
294
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
295
+
296
+ <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
297
+
298
+ <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
299
+
300
+ <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
301
+
302
+ <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
303
+
304
+ <li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
305
+
306
+ <li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
307
+
308
+ <li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
309
+
310
+ <li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
311
+
312
+ <li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
313
+
314
+ <li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
315
+
316
+ <li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
317
+
318
+ <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
319
+
320
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
321
+
322
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
323
+
324
+ <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
325
+
326
+ <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
327
+
328
+ <li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
329
+
330
+ <li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
331
+
332
+ <li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
333
+
334
+ <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
335
+
336
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
337
+
338
+ <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
339
+
340
+ <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
341
+
342
+ <li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
343
+
344
+ <li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
345
+
346
+ <li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
347
+
348
+ <li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
349
+
350
+ <li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
351
+
352
+ <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
353
+
354
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
355
+
356
+ <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
357
+
358
+ <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
359
+
360
+ <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
361
+
362
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
363
+
364
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
365
+
366
+ <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
367
+
368
+ <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
369
+
370
+ <li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
371
+
372
+ <li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
373
+
374
+ <li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
375
+
376
+ <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
377
+
378
+ <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
379
+
380
+ <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
381
+
382
+ <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
383
+
384
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
385
+
386
+ <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
387
+
388
+ <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
389
+
390
+ <li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
391
+
392
+ <li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
393
+
394
+ <li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
395
+
396
+ <li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
397
+
398
+ <li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
399
+
400
+ <li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
401
+
402
+ <li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
403
+
404
+ <li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
405
+
406
+ <li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
407
+
408
+ <li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
409
+
410
+ <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
411
+
412
+ <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
413
+
414
+ <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
415
+
416
+ <li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
417
+
418
+ <li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
419
+
420
+ <li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
421
+
422
+ <li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
423
+
424
+ <li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
425
+
426
+ <li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
427
+
428
+ <li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
429
+
430
+ <li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
431
+
432
+ <li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
433
+
434
+ <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
435
+
436
+ <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
437
+
438
+ <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
439
+
440
+ <li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
441
+
442
+ <li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
443
+
444
+ <li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
445
+
446
+ <li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
447
+
448
+ <li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
449
+
450
+ <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
451
+
452
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
453
+
454
+ <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
455
+
456
+ <li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
457
+
458
+ <li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
459
+
460
+ <li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
461
+
462
+ <li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
463
+
464
+ <li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
465
+
466
+ <li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
467
+
468
+ <li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
469
+
470
+ <li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
471
+
472
+ <li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
473
+
474
+ <li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
475
+
476
+ <li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
477
+
478
+ <li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
479
+
480
+ <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
481
+
482
+ <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
483
+
484
+ <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
485
+
486
+ <li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
487
+
488
+ <li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
489
+
490
+ <li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
491
+
492
+ <li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
493
+
494
+ <li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
495
+
496
+ <li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
497
+
498
+ <li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
499
+
500
+ <li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
501
+
502
+ <li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
503
+
504
+ <li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
505
+
506
+ <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
507
+
508
+ <li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
509
+
510
+ <li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
511
+
512
+ <li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
513
+
514
+ <li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
515
+
516
+ <li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
517
+
518
+ <li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
519
+
520
+ <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
521
+
522
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
523
+
524
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
525
+
526
+ <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
527
+
528
+ <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
529
+
530
+ <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
531
+
532
+ <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
533
+
534
+ <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
535
+
536
+ <li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
537
+
538
+ <li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
539
+
540
+ <li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
541
+
542
+ <li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
543
+
544
+ <li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
545
+
546
+ <li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
547
+
548
+ <li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
549
+
550
+ <li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
551
+
552
+ <li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
553
+
554
+ <li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
555
+
556
+ <li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
557
+
558
+ <li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
559
+
560
+ <li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
561
+
562
+ <li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
563
+
564
+ <li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
565
+
566
+ <li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
567
+
568
+ <li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
569
+
570
+ <li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
571
+
572
+ <li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
573
+
574
+ <li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
575
+
576
+ <li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
577
+
578
+ <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
579
+
580
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
581
+
582
+ <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
583
+
584
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
585
+
586
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
587
+
588
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
589
+
590
+ <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
591
+
592
+ <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
593
+
594
+ <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
595
+
596
+ <li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
597
+
598
+ <li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
599
+
600
+ <li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
601
+
602
+ <li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
603
+
604
+ <li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
605
+
606
+ <li><a href="../Diff.html">Diff</a></li>
607
+
608
+ <li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
609
+
610
+ <li><a href="../AppConfig.html">AppConfig</a></li>
611
+
612
+ <li><a href="../Diffable.html">Diffable</a></li>
613
+
614
+ <li><a href="../DiffableString.html">DiffableString</a></li>
615
+
616
+ <li><a href="../Object.html">Object</a></li>
617
+
618
+ <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
619
+
620
+ <li><a href="../String.html">String</a></li>
621
+
622
+ </ul>
623
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
624
+ </div>
625
+
626
+
627
+ </div>
628
+ </div>
629
+
630
+ <div id="documentation">
631
+ <h1 class="class">TaskJuggler::PropertySet</h1>
632
+
633
+ <div id="description">
634
+ <p>
635
+ A <a href="PropertySet.html">PropertySet</a> is a collection of properties
636
+ of the same kind. Properties can be <a href="Task.html">Task</a>,
637
+ Resources, <a href="Scenario.html">Scenario</a>, <a
638
+ href="Shift.html">Shift</a> or Accounts objects. All properties of the same
639
+ kind belong to the same <a href="PropertySet.html">PropertySet</a>. A
640
+ property may only belong to one <a href="PropertySet.html">PropertySet</a>
641
+ in the <a href="Project.html">Project</a>. The <a
642
+ href="PropertySet.html">PropertySet</a> holds the definitions for the
643
+ attributes. All Properties of the set will have a set of these attributes.
644
+ </p>
645
+
646
+ </div>
647
+
648
+ <!-- Constants -->
649
+
650
+
651
+ <!-- Attributes -->
652
+
653
+ <div id="attribute-method-details" class="method-section section">
654
+ <h3 class="section-header">Attributes</h3>
655
+
656
+
657
+ <div id="project-attribute-method" class="method-detail">
658
+ <a name="project"></a>
659
+
660
+ <div class="method-heading attribute-method-heading">
661
+ <span class="method-name">project</span><span
662
+ class="attribute-access-type">[R]</span>
663
+ </div>
664
+
665
+ <div class="method-description">
666
+
667
+
668
+
669
+ </div>
670
+ </div>
671
+
672
+ <div id="flat-amespace-attribute-method" class="method-detail">
673
+ <a name="flatNamespace"></a>
674
+
675
+ <div class="method-heading attribute-method-heading">
676
+ <span class="method-name">flatNamespace</span><span
677
+ class="attribute-access-type">[R]</span>
678
+ </div>
679
+
680
+ <div class="method-description">
681
+
682
+
683
+
684
+ </div>
685
+ </div>
686
+
687
+ <div id="attribute-efinitions-attribute-method" class="method-detail">
688
+ <a name="attributeDefinitions"></a>
689
+
690
+ <div class="method-heading attribute-method-heading">
691
+ <span class="method-name">attributeDefinitions</span><span
692
+ class="attribute-access-type">[R]</span>
693
+ </div>
694
+
695
+ <div class="method-description">
696
+
697
+
698
+
699
+ </div>
700
+ </div>
701
+
702
+ </div>
703
+
704
+
705
+ <!-- Methods -->
706
+
707
+ <div id="public-class-method-details" class="method-section section">
708
+ <h3 class="section-header">Public Class Methods</h3>
709
+
710
+
711
+ <div id="new-method" class="method-detail ">
712
+ <a name="method-c-new"></a>
713
+
714
+ <div class="method-heading">
715
+
716
+ <span class="method-name">new</span><span
717
+ class="method-args">(project, flatNamespace)</span>
718
+ <span class="method-click-advice">click to toggle source</span>
719
+
720
+ </div>
721
+
722
+ <div class="method-description">
723
+
724
+
725
+
726
+
727
+
728
+ <div class="method-source-code"
729
+ id="new-source">
730
+ <pre>
731
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 29</span>
732
+ 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">flatNamespace</span>)
733
+ 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">project</span>.<span class="ruby-identifier">nil?</span>
734
+ 31: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;project parameter may not be NIL&quot;</span>
735
+ 32: <span class="ruby-keyword kw">end</span>
736
+ 33: <span class="ruby-comment cmt"># Indicates whether the namespace of this PropertySet is flat or not. In a</span>
737
+ 34: <span class="ruby-comment cmt"># flat namespace all property IDs must be unique. Otherwise only the IDs</span>
738
+ 35: <span class="ruby-comment cmt"># within a group of siblings must be unique. The full ID of the Property</span>
739
+ 36: <span class="ruby-comment cmt"># is then composed of the siblings ID prefixed by the parent ID. ID fields</span>
740
+ 37: <span class="ruby-comment cmt"># are separated by dots.</span>
741
+ 38: <span class="ruby-ivar">@flatNamespace</span> = <span class="ruby-identifier">flatNamespace</span>
742
+ 39: <span class="ruby-comment cmt"># The main Project data structure reference.</span>
743
+ 40: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
744
+ 41: <span class="ruby-comment cmt"># A list of all PropertyTreeNodes in this set.</span>
745
+ 42: <span class="ruby-ivar">@properties</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
746
+ 43: <span class="ruby-comment cmt"># A hash of all PropertyTreeNodes in this set, hashed by their ID. This is</span>
747
+ 44: <span class="ruby-comment cmt"># the same data as in @properties, but hashed by ID for faster access.</span>
748
+ 45: <span class="ruby-ivar">@propertyMap</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
749
+ 46:
750
+ 47: <span class="ruby-comment cmt"># This is the blueprint for PropertyTreeNode attribute sets. Whever a new</span>
751
+ 48: <span class="ruby-comment cmt"># PropertTreeNode is created, an attribute is created for each definition</span>
752
+ 49: <span class="ruby-comment cmt"># in this list.</span>
753
+ 50: <span class="ruby-ivar">@attributeDefinitions</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
754
+ 51: [
755
+ 52: [ <span class="ruby-value str">'id'</span>, <span class="ruby-value str">'ID'</span>, <span class="ruby-constant">StringAttribute</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">''</span> ],
756
+ 53: [ <span class="ruby-value str">'name'</span>, <span class="ruby-value str">'Name'</span>, <span class="ruby-constant">StringAttribute</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">''</span> ],
757
+ 54: [ <span class="ruby-value str">'seqno'</span>, <span class="ruby-value str">'Seq. No'</span>, <span class="ruby-constant">FixnumAttribute</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">0</span> ]
758
+ 55: ].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
759
+ 56: <span class="ruby-keyword kw">end</span></pre>
760
+ </div>
761
+
762
+ </div>
763
+
764
+
765
+
766
+
767
+ </div>
768
+
769
+
770
+ </div>
771
+
772
+ <div id="public-instance-method-details" class="method-section section">
773
+ <h3 class="section-header">Public Instance Methods</h3>
774
+
775
+
776
+ <div id="--method" class="method-detail ">
777
+ <a name="method-i-%5B%5D"></a>
778
+
779
+ <div class="method-heading">
780
+
781
+ <span class="method-name">[]</span><span
782
+ class="method-args">(id)</span>
783
+ <span class="method-click-advice">click to toggle source</span>
784
+
785
+ </div>
786
+
787
+ <div class="method-description">
788
+
789
+ <p>
790
+ Return the <a href="PropertyTreeNode.html">PropertyTreeNode</a> object with
791
+ ID <em>id</em> from the set or nil if not present.
792
+ </p>
793
+
794
+
795
+
796
+ <div class="method-source-code"
797
+ id="--source">
798
+ <pre>
799
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 223</span>
800
+ 223: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">id</span>)
801
+ 224: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">id</span>]
802
+ 225: <span class="ruby-keyword kw">end</span></pre>
803
+ </div>
804
+
805
+ </div>
806
+
807
+
808
+
809
+
810
+ </div>
811
+
812
+
813
+ <div id="add-ttribute-ype-method" class="method-detail ">
814
+ <a name="method-i-addAttributeType"></a>
815
+
816
+ <div class="method-heading">
817
+
818
+ <span class="method-name">addAttributeType</span><span
819
+ class="method-args">(attributeType)</span>
820
+ <span class="method-click-advice">click to toggle source</span>
821
+
822
+ </div>
823
+
824
+ <div class="method-description">
825
+
826
+ <p>
827
+ Use the function to declare the various attributes that properties of this
828
+ <a href="PropertySet.html">PropertySet</a> can have. The attributes must be
829
+ declared before the first property is added to the set.
830
+ </p>
831
+
832
+
833
+
834
+ <div class="method-source-code"
835
+ id="add-ttribute-ype-source">
836
+ <pre>
837
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 61</span>
838
+ 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addAttributeType</span>(<span class="ruby-identifier">attributeType</span>)
839
+ 62: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
840
+ 63: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: Attribute types must be defined before &quot;</span> <span class="ruby-operator">+</span>
841
+ 64: <span class="ruby-value str">&quot;properties are added.&quot;</span>
842
+ 65: <span class="ruby-keyword kw">end</span>
843
+ 66:
844
+ 67: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attributeType</span>
845
+ 68: <span class="ruby-keyword kw">end</span></pre>
846
+ </div>
847
+
848
+ </div>
849
+
850
+
851
+
852
+
853
+ </div>
854
+
855
+
856
+ <div id="add-roperty-method" class="method-detail ">
857
+ <a name="method-i-addProperty"></a>
858
+
859
+ <div class="method-heading">
860
+
861
+ <span class="method-name">addProperty</span><span
862
+ class="method-args">(property)</span>
863
+ <span class="method-click-advice">click to toggle source</span>
864
+
865
+ </div>
866
+
867
+ <div class="method-description">
868
+
869
+ <p>
870
+ Add the new <a href="PropertyTreeNode.html">PropertyTreeNode</a> object
871
+ <em>property</em> to the set. The set is indexed by ID. In case an object
872
+ with the same ID already exists in the set it will be overwritten.
873
+ </p>
874
+ <p>
875
+ Whenever the set has been extended, the &#8216;bsi&#8217; and
876
+ &#8216;tree&#8217; attributes of the properties are no longer up-to-date.
877
+ You must call index() before using these attributes.
878
+ </p>
879
+
880
+
881
+
882
+ <div class="method-source-code"
883
+ id="add-roperty-source">
884
+ <pre>
885
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 178</span>
886
+ 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addProperty</span>(<span class="ruby-identifier">property</span>)
887
+ 179: <span class="ruby-comment cmt"># The PropertyTreeNode objects are indexed by ID or hierachical ID</span>
888
+ 180: <span class="ruby-comment cmt"># depending on the name space setting of this set.</span>
889
+ 181: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@flatNamespace</span>
890
+ 182: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">property</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">property</span>
891
+ 183: <span class="ruby-keyword kw">else</span>
892
+ 184: <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">property</span>.<span class="ruby-identifier">fullId</span>] = <span class="ruby-identifier">property</span>
893
+ 185: <span class="ruby-keyword kw">end</span>
894
+ 186: <span class="ruby-ivar">@properties</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">property</span>
895
+ 187: <span class="ruby-keyword kw">end</span></pre>
896
+ </div>
897
+
898
+ </div>
899
+
900
+
901
+
902
+
903
+ </div>
904
+
905
+
906
+ <div id="attribute-ame-method" class="method-detail ">
907
+ <a name="method-i-attributeName"></a>
908
+
909
+ <div class="method-heading">
910
+
911
+ <span class="method-name">attributeName</span><span
912
+ class="method-args">(attrId)</span>
913
+ <span class="method-click-advice">click to toggle source</span>
914
+
915
+ </div>
916
+
917
+ <div class="method-description">
918
+
919
+ <p>
920
+ Returns the name (human readable description) of the attribute with the Id
921
+ specified by <em>attrId</em>.
922
+ </p>
923
+
924
+
925
+
926
+ <div class="method-source-code"
927
+ id="attribute-ame-source">
928
+ <pre>
929
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 151</span>
930
+ 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">attrId</span>)
931
+ 152: <span class="ruby-comment cmt"># Some attributes are hardwired into the properties. These need to be</span>
932
+ 153: <span class="ruby-comment cmt"># treated separately.</span>
933
+ 154: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>)
934
+ 155: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">name</span>
935
+ 156: <span class="ruby-keyword kw">end</span>
936
+ 157:
937
+ 158: <span class="ruby-keyword kw">nil</span>
938
+ 159: <span class="ruby-keyword kw">end</span></pre>
939
+ </div>
940
+
941
+ </div>
942
+
943
+
944
+
945
+
946
+ </div>
947
+
948
+
949
+ <div id="attribute-ype-method" class="method-detail ">
950
+ <a name="method-i-attributeType"></a>
951
+
952
+ <div class="method-heading">
953
+
954
+ <span class="method-name">attributeType</span><span
955
+ class="method-args">(attrId)</span>
956
+ <span class="method-click-advice">click to toggle source</span>
957
+
958
+ </div>
959
+
960
+ <div class="method-description">
961
+
962
+ <p>
963
+ Return the type of the attribute with the Id specified by <em>attrId</em>.
964
+ </p>
965
+
966
+
967
+
968
+ <div class="method-source-code"
969
+ id="attribute-ype-source">
970
+ <pre>
971
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 162</span>
972
+ 162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeType</span>(<span class="ruby-identifier">attrId</span>)
973
+ 163: <span class="ruby-comment cmt"># Hardwired attributes need special treatment.</span>
974
+ 164: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attrId</span>)
975
+ 165: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">objClass</span>
976
+ 166: <span class="ruby-keyword kw">else</span>
977
+ 167: <span class="ruby-keyword kw">nil</span>
978
+ 168: <span class="ruby-keyword kw">end</span>
979
+ 169: <span class="ruby-keyword kw">end</span></pre>
980
+ </div>
981
+
982
+ </div>
983
+
984
+
985
+
986
+
987
+ </div>
988
+
989
+
990
+ <div id="clear-roperties-method" class="method-detail ">
991
+ <a name="method-i-clearProperties"></a>
992
+
993
+ <div class="method-heading">
994
+
995
+ <span class="method-name">clearProperties</span><span
996
+ class="method-args">()</span>
997
+ <span class="method-click-advice">click to toggle source</span>
998
+
999
+ </div>
1000
+
1001
+ <div class="method-description">
1002
+
1003
+ <p>
1004
+ Call this function to delete all registered properties.
1005
+ </p>
1006
+
1007
+
1008
+
1009
+ <div class="method-source-code"
1010
+ id="clear-roperties-source">
1011
+ <pre>
1012
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 216</span>
1013
+ 216: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clearProperties</span>
1014
+ 217: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">clear</span>
1015
+ 218: <span class="ruby-ivar">@propertyMap</span>.<span class="ruby-identifier">clear</span>
1016
+ 219: <span class="ruby-keyword kw">end</span></pre>
1017
+ </div>
1018
+
1019
+ </div>
1020
+
1021
+
1022
+
1023
+
1024
+ </div>
1025
+
1026
+
1027
+ <div id="default-alue-method" class="method-detail ">
1028
+ <a name="method-i-defaultValue"></a>
1029
+
1030
+ <div class="method-heading">
1031
+
1032
+ <span class="method-name">defaultValue</span><span
1033
+ class="method-args">(attrId)</span>
1034
+ <span class="method-click-advice">click to toggle source</span>
1035
+
1036
+ </div>
1037
+
1038
+ <div class="method-description">
1039
+
1040
+ <p>
1041
+ Return the default value of the attribute.
1042
+ </p>
1043
+
1044
+
1045
+
1046
+ <div class="method-source-code"
1047
+ id="default-alue-source">
1048
+ <pre>
1049
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 143</span>
1050
+ 143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">defaultValue</span>(<span class="ruby-identifier">attrId</span>)
1051
+ 144: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1052
+ 145:
1053
+ 146: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">default</span>
1054
+ 147: <span class="ruby-keyword kw">end</span></pre>
1055
+ </div>
1056
+
1057
+ </div>
1058
+
1059
+
1060
+
1061
+
1062
+ </div>
1063
+
1064
+
1065
+ <div id="each-method" class="method-detail ">
1066
+ <a name="method-i-each"></a>
1067
+
1068
+ <div class="method-heading">
1069
+
1070
+ <span class="method-name">each</span><span
1071
+ class="method-args">()</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
+ Iterator over all <a href="PropertyTreeNode.html">PropertyTreeNode</a>
1080
+ objects in this set.
1081
+ </p>
1082
+
1083
+
1084
+
1085
+ <div class="method-source-code"
1086
+ id="each-source">
1087
+ <pre>
1088
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 289</span>
1089
+ 289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
1090
+ 290: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1091
+ 291: <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">value</span>)
1092
+ 292: <span class="ruby-keyword kw">end</span>
1093
+ 293: <span class="ruby-keyword kw">end</span></pre>
1094
+ </div>
1095
+
1096
+ </div>
1097
+
1098
+
1099
+
1100
+
1101
+ </div>
1102
+
1103
+
1104
+ <div id="each-ttribute-efinition-method" class="method-detail ">
1105
+ <a name="method-i-eachAttributeDefinition"></a>
1106
+
1107
+ <div class="method-heading">
1108
+
1109
+ <span class="method-name">eachAttributeDefinition</span><span
1110
+ class="method-args">()</span>
1111
+ <span class="method-click-advice">click to toggle source</span>
1112
+
1113
+ </div>
1114
+
1115
+ <div class="method-description">
1116
+
1117
+ <p>
1118
+ Iterate over all attribute definitions.
1119
+ </p>
1120
+
1121
+
1122
+
1123
+ <div class="method-source-code"
1124
+ id="each-ttribute-efinition-source">
1125
+ <pre>
1126
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 71</span>
1127
+ 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttributeDefinition</span>
1128
+ 72: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1129
+ 73: <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">value</span>)
1130
+ 74: <span class="ruby-keyword kw">end</span>
1131
+ 75: <span class="ruby-keyword kw">end</span></pre>
1132
+ </div>
1133
+
1134
+ </div>
1135
+
1136
+
1137
+
1138
+
1139
+ </div>
1140
+
1141
+
1142
+ <div id="empty--method" class="method-detail ">
1143
+ <a name="method-i-empty%3F"></a>
1144
+
1145
+ <div class="method-heading">
1146
+
1147
+ <span class="method-name">empty?</span><span
1148
+ class="method-args">()</span>
1149
+ <span class="method-click-advice">click to toggle source</span>
1150
+
1151
+ </div>
1152
+
1153
+ <div class="method-description">
1154
+
1155
+ <p>
1156
+ Return true if the set is empty.
1157
+ </p>
1158
+
1159
+
1160
+
1161
+ <div class="method-source-code"
1162
+ id="empty--source">
1163
+ <pre>
1164
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 274</span>
1165
+ 274: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">empty?</span>
1166
+ 275: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
1167
+ 276: <span class="ruby-keyword kw">end</span></pre>
1168
+ </div>
1169
+
1170
+ </div>
1171
+
1172
+
1173
+
1174
+
1175
+ </div>
1176
+
1177
+
1178
+ <div id="has-uery--method" class="method-detail ">
1179
+ <a name="method-i-hasQuery%3F"></a>
1180
+
1181
+ <div class="method-heading">
1182
+
1183
+ <span class="method-name">hasQuery?</span><span
1184
+ class="method-args">(attrId, scenarioIdx = nil)</span>
1185
+ <span class="method-click-advice">click to toggle source</span>
1186
+
1187
+ </div>
1188
+
1189
+ <div class="method-description">
1190
+
1191
+ <p>
1192
+ Check whether the <a href="PropertyTreeNode.html">PropertyTreeNode</a> has
1193
+ a calculated attribute with the ID <em>attrId</em>. For scenarioSpecific
1194
+ attributes <em>scenarioIdx</em> needs to be provided.
1195
+ </p>
1196
+
1197
+
1198
+
1199
+ <div class="method-source-code"
1200
+ id="has-uery--source">
1201
+ <pre>
1202
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 85</span>
1203
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">attrId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1204
+ 86: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">empty?</span>
1205
+ 87:
1206
+ 88: <span class="ruby-identifier">property</span> = <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">first</span>
1207
+ 89: <span class="ruby-identifier">methodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">attrId</span>
1208
+ 90: <span class="ruby-comment cmt"># First we check for non-scenario-specific query functions.</span>
1209
+ 91: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
1210
+ 92: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
1211
+ 93: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">scenarioIdx</span>
1212
+ 94: <span class="ruby-comment cmt"># Then we check for scenario-specific ones via the @data member.</span>
1213
+ 95: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
1214
+ 96: <span class="ruby-keyword kw">end</span>
1215
+ 97: <span class="ruby-keyword kw">false</span>
1216
+ 98: <span class="ruby-keyword kw">end</span></pre>
1217
+ </div>
1218
+
1219
+ </div>
1220
+
1221
+
1222
+
1223
+
1224
+ </div>
1225
+
1226
+
1227
+ <div id="index-method" class="method-detail ">
1228
+ <a name="method-i-index"></a>
1229
+
1230
+ <div class="method-heading">
1231
+
1232
+ <span class="method-name">index</span><span
1233
+ class="method-args">()</span>
1234
+ <span class="method-click-advice">click to toggle source</span>
1235
+
1236
+ </div>
1237
+
1238
+ <div class="method-description">
1239
+
1240
+ <p>
1241
+ Update the breakdown structure indicies (bsi). This method needs to be
1242
+ called whenever the set has been modified.
1243
+ </p>
1244
+
1245
+
1246
+
1247
+ <div class="method-source-code"
1248
+ id="index-source">
1249
+ <pre>
1250
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 229</span>
1251
+ 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
1252
+ 230: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1253
+ 231: <span class="ruby-identifier">bsIdcs</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">getBSIndicies</span>
1254
+ 232: <span class="ruby-identifier">bsi</span> = <span class="ruby-value str">&quot;&quot;</span>
1255
+ 233: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1256
+ 234: <span class="ruby-identifier">bsIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
1257
+ 235: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1258
+ 236: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1259
+ 237: <span class="ruby-keyword kw">else</span>
1260
+ 238: <span class="ruby-identifier">bsi</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'.'</span>
1261
+ 239: <span class="ruby-keyword kw">end</span>
1262
+ 240: <span class="ruby-identifier">bsi</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>
1263
+ 241: <span class="ruby-keyword kw">end</span>
1264
+ 242: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'bsi'</span>, <span class="ruby-identifier">bsi</span>)
1265
+ 243: <span class="ruby-keyword kw">end</span>
1266
+ 244: <span class="ruby-keyword kw">end</span></pre>
1267
+ </div>
1268
+
1269
+ </div>
1270
+
1271
+
1272
+
1273
+
1274
+ </div>
1275
+
1276
+
1277
+ <div id="inherited-rom-arent--method" class="method-detail ">
1278
+ <a name="method-i-inheritedFromParent%3F"></a>
1279
+
1280
+ <div class="method-heading">
1281
+
1282
+ <span class="method-name">inheritedFromParent?</span><span
1283
+ class="method-args">(attrId)</span>
1284
+ <span class="method-click-advice">click to toggle source</span>
1285
+
1286
+ </div>
1287
+
1288
+ <div class="method-description">
1289
+
1290
+ <p>
1291
+ Return whether the attribute with <em>attrId</em> is inherited from parent.
1292
+ </p>
1293
+
1294
+
1295
+
1296
+ <div class="method-source-code"
1297
+ id="inherited-rom-arent--source">
1298
+ <pre>
1299
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 128</span>
1300
+ 128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">attrId</span>)
1301
+ 129: <span class="ruby-comment cmt"># All hardwired attributes are not inherited.</span>
1302
+ 130: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1303
+ 131:
1304
+ 132: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">inheritedFromParent</span>
1305
+ 133: <span class="ruby-keyword kw">end</span></pre>
1306
+ </div>
1307
+
1308
+ </div>
1309
+
1310
+
1311
+
1312
+
1313
+ </div>
1314
+
1315
+
1316
+ <div id="inherited-rom-roject--method" class="method-detail ">
1317
+ <a name="method-i-inheritedFromProject%3F"></a>
1318
+
1319
+ <div class="method-heading">
1320
+
1321
+ <span class="method-name">inheritedFromProject?</span><span
1322
+ class="method-args">(attrId)</span>
1323
+ <span class="method-click-advice">click to toggle source</span>
1324
+
1325
+ </div>
1326
+
1327
+ <div class="method-description">
1328
+
1329
+ <p>
1330
+ Return whether the attribute with <em>attrId</em> is inherited from the
1331
+ global scope.
1332
+ </p>
1333
+
1334
+
1335
+
1336
+ <div class="method-source-code"
1337
+ id="inherited-rom-roject--source">
1338
+ <pre>
1339
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 120</span>
1340
+ 120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">attrId</span>)
1341
+ 121: <span class="ruby-comment cmt"># All hardwired attributes are not inherited.</span>
1342
+ 122: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1343
+ 123:
1344
+ 124: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">inheritedFromProject</span>
1345
+ 125: <span class="ruby-keyword kw">end</span></pre>
1346
+ </div>
1347
+
1348
+ </div>
1349
+
1350
+
1351
+
1352
+
1353
+ </div>
1354
+
1355
+
1356
+ <div id="items-method" class="method-detail ">
1357
+ <a name="method-i-items"></a>
1358
+
1359
+ <div class="method-heading">
1360
+
1361
+ <span class="method-name">items</span><span
1362
+ class="method-args">()</span>
1363
+ <span class="method-click-advice">click to toggle source</span>
1364
+
1365
+ </div>
1366
+
1367
+ <div class="method-description">
1368
+
1369
+ <p>
1370
+ Return the number of <a href="PropertyTreeNode.html">PropertyTreeNode</a>
1371
+ objects in this set.
1372
+ </p>
1373
+
1374
+
1375
+
1376
+ <div class="method-source-code"
1377
+ id="items-source">
1378
+ <pre>
1379
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 269</span>
1380
+ 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">items</span>
1381
+ 270: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">length</span>
1382
+ 271: <span class="ruby-keyword kw">end</span></pre>
1383
+ </div>
1384
+
1385
+ </div>
1386
+
1387
+
1388
+
1389
+
1390
+ </div>
1391
+
1392
+
1393
+ <div id="known-ttribute--method" class="method-detail ">
1394
+ <a name="method-i-knownAttribute%3F"></a>
1395
+
1396
+ <div class="method-heading">
1397
+
1398
+ <span class="method-name">knownAttribute?</span><span
1399
+ class="method-args">(attrId)</span>
1400
+ <span class="method-click-advice">click to toggle source</span>
1401
+
1402
+ </div>
1403
+
1404
+ <div class="method-description">
1405
+
1406
+ <p>
1407
+ Return true if there is an <a
1408
+ href="AttributeDefinition.html">AttributeDefinition</a> for
1409
+ <em>attrId</em>.
1410
+ </p>
1411
+
1412
+
1413
+
1414
+ <div class="method-source-code"
1415
+ id="known-ttribute--source">
1416
+ <pre>
1417
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 78</span>
1418
+ 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-identifier">attrId</span>)
1419
+ 79: <span class="ruby-ivar">@attributeDefinitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">attrId</span>)
1420
+ 80: <span class="ruby-keyword kw">end</span></pre>
1421
+ </div>
1422
+
1423
+ </div>
1424
+
1425
+
1426
+
1427
+
1428
+ </div>
1429
+
1430
+
1431
+ <div id="level-eq-o-method" class="method-detail ">
1432
+ <a name="method-i-levelSeqNo"></a>
1433
+
1434
+ <div class="method-heading">
1435
+
1436
+ <span class="method-name">levelSeqNo</span><span
1437
+ class="method-args">(property)</span>
1438
+ <span class="method-click-advice">click to toggle source</span>
1439
+
1440
+ </div>
1441
+
1442
+ <div class="method-description">
1443
+
1444
+ <p>
1445
+ Return the index of the top-level <em>property</em> in the set.
1446
+ </p>
1447
+
1448
+
1449
+
1450
+ <div class="method-source-code"
1451
+ id="level-eq-o-source">
1452
+ <pre>
1453
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 247</span>
1454
+ 247: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">property</span>)
1455
+ 248: <span class="ruby-identifier">seqNo</span> = <span class="ruby-value">1</span>
1456
+ 249: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1457
+ 250: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1458
+ 251: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">seqNo</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">property</span>
1459
+ 252: <span class="ruby-identifier">seqNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1460
+ 253: <span class="ruby-keyword kw">end</span>
1461
+ 254: <span class="ruby-keyword kw">end</span>
1462
+ 255: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Fatal Error: Unknow property #{property}&quot;</span>
1463
+ 256: <span class="ruby-keyword kw">end</span></pre>
1464
+ </div>
1465
+
1466
+ </div>
1467
+
1468
+
1469
+
1470
+
1471
+ </div>
1472
+
1473
+
1474
+ <div id="max-epth-method" class="method-detail ">
1475
+ <a name="method-i-maxDepth"></a>
1476
+
1477
+ <div class="method-heading">
1478
+
1479
+ <span class="method-name">maxDepth</span><span
1480
+ class="method-args">()</span>
1481
+ <span class="method-click-advice">click to toggle source</span>
1482
+
1483
+ </div>
1484
+
1485
+ <div class="method-description">
1486
+
1487
+ <p>
1488
+ Return the maximum used number of breakdown levels. A flat list has a
1489
+ maxDepth of 1. A list with one sub level has a maxDepth of 2 and so on.
1490
+ </p>
1491
+
1492
+
1493
+
1494
+ <div class="method-source-code"
1495
+ id="max-epth-source">
1496
+ <pre>
1497
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 260</span>
1498
+ 260: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">maxDepth</span>
1499
+ 261: <span class="ruby-identifier">md</span> = <span class="ruby-value">0</span>
1500
+ 262: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1501
+ 263: <span class="ruby-identifier">md</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">md</span>
1502
+ 264: <span class="ruby-keyword kw">end</span>
1503
+ 265: <span class="ruby-identifier">md</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1504
+ 266: <span class="ruby-keyword kw">end</span></pre>
1505
+ </div>
1506
+
1507
+ </div>
1508
+
1509
+
1510
+
1511
+
1512
+ </div>
1513
+
1514
+
1515
+ <div id="remove-roperty-method" class="method-detail ">
1516
+ <a name="method-i-removeProperty"></a>
1517
+
1518
+ <div class="method-heading">
1519
+
1520
+ <span class="method-name">removeProperty</span><span
1521
+ class="method-args">(prop)</span>
1522
+ <span class="method-click-advice">click to toggle source</span>
1523
+
1524
+ </div>
1525
+
1526
+ <div class="method-description">
1527
+
1528
+ <p>
1529
+ Remove the <a href="PropertyTreeNode.html">PropertyTreeNode</a> (and all
1530
+ its children) object from the set. <em>prop</em> can either be a property
1531
+ ID or a reference to the <a
1532
+ href="PropertyTreeNode.html">PropertyTreeNode</a>.
1533
+ </p>
1534
+ <p>
1535
+ TODO: This function does not take care of references to this PTN!
1536
+ </p>
1537
+
1538
+
1539
+
1540
+ <div class="method-source-code"
1541
+ id="remove-roperty-source">
1542
+ <pre>
1543
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 193</span>
1544
+ 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">removeProperty</span>(<span class="ruby-identifier">prop</span>)
1545
+ 194: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prop</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1546
+ 195: <span class="ruby-identifier">property</span> = <span class="ruby-ivar">@propertyMap</span>[<span class="ruby-identifier">prop</span>]
1547
+ 196: <span class="ruby-keyword kw">else</span>
1548
+ 197: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">prop</span>
1549
+ 198: <span class="ruby-keyword kw">end</span>
1550
+ 199:
1551
+ 200: <span class="ruby-comment cmt"># Recursively remove all sub-nodes. The children list is modified during</span>
1552
+ 201: <span class="ruby-comment cmt"># the call, so we can't use an iterator here.</span>
1553
+ 202: <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">do</span>
1554
+ 203: <span class="ruby-identifier">removeProperty</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">first</span>)
1555
+ 204: <span class="ruby-keyword kw">end</span>
1556
+ 205:
1557
+ 206: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>)
1558
+ 207: <span class="ruby-ivar">@propertyMap</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>.<span class="ruby-identifier">fullId</span>)
1559
+ 208:
1560
+ 209: <span class="ruby-comment cmt"># Remove this node from the child list of the parent node.</span>
1561
+ 210: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">property</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">parent</span>
1562
+ 211:
1563
+ 212: <span class="ruby-identifier">property</span>
1564
+ 213: <span class="ruby-keyword kw">end</span></pre>
1565
+ </div>
1566
+
1567
+ </div>
1568
+
1569
+
1570
+
1571
+
1572
+ </div>
1573
+
1574
+
1575
+ <div id="scenario-pecific--method" class="method-detail ">
1576
+ <a name="method-i-scenarioSpecific%3F"></a>
1577
+
1578
+ <div class="method-heading">
1579
+
1580
+ <span class="method-name">scenarioSpecific?</span><span
1581
+ class="method-args">(attrId)</span>
1582
+ <span class="method-click-advice">click to toggle source</span>
1583
+
1584
+ </div>
1585
+
1586
+ <div class="method-description">
1587
+
1588
+ <p>
1589
+ Return whether the attribute with <em>attrId</em> is scenario specific or
1590
+ not.
1591
+ </p>
1592
+
1593
+
1594
+
1595
+ <div class="method-source-code"
1596
+ id="scenario-pecific--source">
1597
+ <pre>
1598
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 101</span>
1599
+ 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">attrId</span>)
1600
+ 102: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>]
1601
+ 103: <span class="ruby-comment cmt"># Check the 'scenarioSpecific' flag of the attribute definition.</span>
1602
+ 104: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">scenarioSpecific</span>
1603
+ 105: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">property</span> = <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">first</span>) <span class="ruby-operator">&amp;&amp;</span>
1604
+ 106: <span class="ruby-identifier">property</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span> <span class="ruby-operator">&amp;&amp;</span>
1605
+ 107: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">&quot;query_#{attrId}&quot;</span>)
1606
+ 108: <span class="ruby-comment cmt"># We've found a query_ function for the attrId that is scenario</span>
1607
+ 109: <span class="ruby-comment cmt"># specific.</span>
1608
+ 110: <span class="ruby-keyword kw">true</span>
1609
+ 111: <span class="ruby-keyword kw">else</span>
1610
+ 112: <span class="ruby-comment cmt"># All hardwired, non-existing and non-scenario-specific query_</span>
1611
+ 113: <span class="ruby-comment cmt"># candidates.</span>
1612
+ 114: <span class="ruby-keyword kw">false</span>
1613
+ 115: <span class="ruby-keyword kw">end</span>
1614
+ 116: <span class="ruby-keyword kw">end</span></pre>
1615
+ </div>
1616
+
1617
+ </div>
1618
+
1619
+
1620
+
1621
+
1622
+ </div>
1623
+
1624
+
1625
+ <div id="to-ary-method" class="method-detail ">
1626
+ <a name="method-i-to_ary"></a>
1627
+
1628
+ <div class="method-heading">
1629
+
1630
+ <span class="method-name">to_ary</span><span
1631
+ class="method-args">()</span>
1632
+ <span class="method-click-advice">click to toggle source</span>
1633
+
1634
+ </div>
1635
+
1636
+ <div class="method-description">
1637
+
1638
+ <p>
1639
+ Return the set of <a href="PropertyTreeNode.html">PropertyTreeNode</a>
1640
+ objects as flat Array.
1641
+ </p>
1642
+
1643
+
1644
+
1645
+ <div class="method-source-code"
1646
+ id="to-ary-source">
1647
+ <pre>
1648
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 296</span>
1649
+ 296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ary</span>
1650
+ 297: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">dup</span>
1651
+ 298: <span class="ruby-keyword kw">end</span></pre>
1652
+ </div>
1653
+
1654
+ </div>
1655
+
1656
+
1657
+
1658
+
1659
+ </div>
1660
+
1661
+
1662
+ <div id="to-s-method" class="method-detail ">
1663
+ <a name="method-i-to_s"></a>
1664
+
1665
+ <div class="method-heading">
1666
+
1667
+ <span class="method-name">to_s</span><span
1668
+ class="method-args">()</span>
1669
+ <span class="method-click-advice">click to toggle source</span>
1670
+
1671
+ </div>
1672
+
1673
+ <div class="method-description">
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+ <div class="method-source-code"
1680
+ id="to-s-source">
1681
+ <pre>
1682
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 300</span>
1683
+ 300: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1684
+ 301: <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>).<span class="ruby-identifier">to_s</span>
1685
+ 302: <span class="ruby-keyword kw">end</span></pre>
1686
+ </div>
1687
+
1688
+ </div>
1689
+
1690
+
1691
+
1692
+
1693
+ </div>
1694
+
1695
+
1696
+ <div id="top-evel-tems-method" class="method-detail ">
1697
+ <a name="method-i-topLevelItems"></a>
1698
+
1699
+ <div class="method-heading">
1700
+
1701
+ <span class="method-name">topLevelItems</span><span
1702
+ class="method-args">()</span>
1703
+ <span class="method-click-advice">click to toggle source</span>
1704
+
1705
+ </div>
1706
+
1707
+ <div class="method-description">
1708
+
1709
+ <p>
1710
+ Return the number of top-level <a
1711
+ href="PropertyTreeNode.html">PropertyTreeNode</a> objects. Top-Level items
1712
+ are no children.
1713
+ </p>
1714
+
1715
+
1716
+
1717
+ <div class="method-source-code"
1718
+ id="top-evel-tems-source">
1719
+ <pre>
1720
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 280</span>
1721
+ 280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">topLevelItems</span>
1722
+ 281: <span class="ruby-identifier">items</span> = <span class="ruby-value">0</span>
1723
+ 282: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1724
+ 283: <span class="ruby-identifier">items</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1725
+ 284: <span class="ruby-keyword kw">end</span>
1726
+ 285: <span class="ruby-identifier">items</span>
1727
+ 286: <span class="ruby-keyword kw">end</span></pre>
1728
+ </div>
1729
+
1730
+ </div>
1731
+
1732
+
1733
+
1734
+
1735
+ </div>
1736
+
1737
+
1738
+ <div id="user-efined--method" class="method-detail ">
1739
+ <a name="method-i-userDefined%3F"></a>
1740
+
1741
+ <div class="method-heading">
1742
+
1743
+ <span class="method-name">userDefined?</span><span
1744
+ class="method-args">(attrId)</span>
1745
+ <span class="method-click-advice">click to toggle source</span>
1746
+
1747
+ </div>
1748
+
1749
+ <div class="method-description">
1750
+
1751
+ <p>
1752
+ Return whether or not the attribute was user defined.
1753
+ </p>
1754
+
1755
+
1756
+
1757
+ <div class="method-source-code"
1758
+ id="user-efined--source">
1759
+ <pre>
1760
+ <span class="ruby-comment cmt"># File lib/taskjuggler/PropertySet.rb, line 136</span>
1761
+ 136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">userDefined?</span>(<span class="ruby-identifier">attrId</span>)
1762
+ 137: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">nil?</span>
1763
+ 138:
1764
+ 139: <span class="ruby-ivar">@attributeDefinitions</span>[<span class="ruby-identifier">attrId</span>].<span class="ruby-identifier">userDefined</span>
1765
+ 140: <span class="ruby-keyword kw">end</span></pre>
1766
+ </div>
1767
+
1768
+ </div>
1769
+
1770
+
1771
+
1772
+
1773
+ </div>
1774
+
1775
+
1776
+ </div>
1777
+
1778
+
1779
+ </div>
1780
+
1781
+
1782
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
1783
+
1784
+ <p>Disabled; run with --debug to generate this.</p>
1785
+
1786
+ </div>
1787
+
1788
+ <div id="validator-badges">
1789
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1790
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
1791
+ Rdoc Generator</a> 1.1.6</small>.</p>
1792
+ </div>
1793
+
1794
+ </body>
1795
+ </html>
1796
+