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,1409 @@
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::LogicalFunction</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/LogicalFunction_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/taskjuggler/LogicalFunction.rb">lib/taskjuggler/LogicalFunction.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-eval">#eval</a></li>
75
+
76
+ <li><a href="#method-i-hasalert">#hasalert</a></li>
77
+
78
+ <li><a href="#method-i-isactive">#isactive</a></li>
79
+
80
+ <li><a href="#method-i-ischildof">#ischildof</a></li>
81
+
82
+ <li><a href="#method-i-isdependencyof">#isdependencyof</a></li>
83
+
84
+ <li><a href="#method-i-isdutyof">#isdutyof</a></li>
85
+
86
+ <li><a href="#method-i-isfeatureof">#isfeatureof</a></li>
87
+
88
+ <li><a href="#method-i-isleaf">#isleaf</a></li>
89
+
90
+ <li><a href="#method-i-ismilestone">#ismilestone</a></li>
91
+
92
+ <li><a href="#method-i-isongoing">#isongoing</a></li>
93
+
94
+ <li><a href="#method-i-isresource">#isresource</a></li>
95
+
96
+ <li><a href="#method-i-istask">#istask</a></li>
97
+
98
+ <li><a href="#method-i-properties">#properties</a></li>
99
+
100
+ <li><a href="#method-i-setArgumentsAndCheck">#setArgumentsAndCheck</a></li>
101
+
102
+ <li><a href="#method-i-to_s">#to_s</a></li>
103
+
104
+ <li><a href="#method-i-treelevel">#treelevel</a></li>
105
+
106
+ </ul>
107
+ </div>
108
+
109
+
110
+ <!-- Included Modules -->
111
+
112
+ </div>
113
+
114
+ <div id="project-metadata">
115
+
116
+
117
+ <div id="fileindex-section" class="section project-section">
118
+ <h3 class="section-header">Files</h3>
119
+ <ul>
120
+
121
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
122
+
123
+ <li class="file"><a href="../COPYING.html">COPYING</a></li>
124
+
125
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
126
+
127
+ </ul>
128
+ </div>
129
+
130
+
131
+ <div id="classindex-section" class="section project-section">
132
+ <h3 class="section-header">Class Index
133
+ <span class="search-toggle"><img src="../images/find.png"
134
+ height="16" width="16" alt="[+]"
135
+ title="show/hide quicksearch" /></span></h3>
136
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
137
+ <fieldset>
138
+ <legend>Quicksearch</legend>
139
+ <input type="text" name="quicksearch" value=""
140
+ class="quicksearch-field" />
141
+ </fieldset>
142
+ </form>
143
+
144
+ <ul class="link-list">
145
+
146
+ <li><a href="../TaskJuggler.html">TaskJuggler</a></li>
147
+
148
+ <li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
149
+
150
+ <li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
151
+
152
+ <li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
153
+
154
+ <li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
155
+
156
+ <li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
157
+
158
+ <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
159
+
160
+ <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
161
+
162
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
163
+
164
+ <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
165
+
166
+ <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
167
+
168
+ <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
169
+
170
+ <li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
171
+
172
+ <li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
173
+
174
+ <li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
175
+
176
+ <li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
177
+
178
+ <li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
179
+
180
+ <li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
181
+
182
+ <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
183
+
184
+ <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
185
+
186
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
187
+
188
+ <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
189
+
190
+ <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
191
+
192
+ <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
193
+
194
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
195
+
196
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
197
+
198
+ <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
199
+
200
+ <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
201
+
202
+ <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
203
+
204
+ <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
205
+
206
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
207
+
208
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
209
+
210
+ <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
211
+
212
+ <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
213
+
214
+ <li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
215
+
216
+ <li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
217
+
218
+ <li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
219
+
220
+ <li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
221
+
222
+ <li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
223
+
224
+ <li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
225
+
226
+ <li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
227
+
228
+ <li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
229
+
230
+ <li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
231
+
232
+ <li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
233
+
234
+ <li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
235
+
236
+ <li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
237
+
238
+ <li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
239
+
240
+ <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
241
+
242
+ <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
243
+
244
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
245
+
246
+ <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
247
+
248
+ <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
249
+
250
+ <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
251
+
252
+ <li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
253
+
254
+ <li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
255
+
256
+ <li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
257
+
258
+ <li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
259
+
260
+ <li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
261
+
262
+ <li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
263
+
264
+ <li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
265
+
266
+ <li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
267
+
268
+ <li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
269
+
270
+ <li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
271
+
272
+ <li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
273
+
274
+ <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
275
+
276
+ <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
277
+
278
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
279
+
280
+ <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
281
+
282
+ <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
283
+
284
+ <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
285
+
286
+ <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
287
+
288
+ <li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
289
+
290
+ <li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
291
+
292
+ <li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
293
+
294
+ <li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
295
+
296
+ <li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
297
+
298
+ <li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
299
+
300
+ <li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
301
+
302
+ <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
303
+
304
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
305
+
306
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
307
+
308
+ <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
309
+
310
+ <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
311
+
312
+ <li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
313
+
314
+ <li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
315
+
316
+ <li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
317
+
318
+ <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
319
+
320
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
321
+
322
+ <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
323
+
324
+ <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
325
+
326
+ <li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
327
+
328
+ <li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
329
+
330
+ <li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
331
+
332
+ <li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
333
+
334
+ <li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
335
+
336
+ <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
337
+
338
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
339
+
340
+ <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
341
+
342
+ <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
343
+
344
+ <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
345
+
346
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
347
+
348
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
349
+
350
+ <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
351
+
352
+ <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
353
+
354
+ <li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
355
+
356
+ <li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
357
+
358
+ <li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
359
+
360
+ <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
361
+
362
+ <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
363
+
364
+ <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
365
+
366
+ <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
367
+
368
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
369
+
370
+ <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
371
+
372
+ <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
373
+
374
+ <li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
375
+
376
+ <li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
377
+
378
+ <li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
379
+
380
+ <li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
381
+
382
+ <li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
383
+
384
+ <li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
385
+
386
+ <li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
387
+
388
+ <li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
389
+
390
+ <li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
391
+
392
+ <li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
393
+
394
+ <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
395
+
396
+ <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
397
+
398
+ <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
399
+
400
+ <li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
401
+
402
+ <li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
403
+
404
+ <li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
405
+
406
+ <li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
407
+
408
+ <li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
409
+
410
+ <li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
411
+
412
+ <li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
413
+
414
+ <li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
415
+
416
+ <li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
417
+
418
+ <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
419
+
420
+ <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
421
+
422
+ <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
423
+
424
+ <li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
425
+
426
+ <li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
427
+
428
+ <li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
429
+
430
+ <li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
431
+
432
+ <li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
433
+
434
+ <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
435
+
436
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
437
+
438
+ <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
439
+
440
+ <li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
441
+
442
+ <li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
443
+
444
+ <li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
445
+
446
+ <li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
447
+
448
+ <li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
449
+
450
+ <li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
451
+
452
+ <li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
453
+
454
+ <li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
455
+
456
+ <li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
457
+
458
+ <li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
459
+
460
+ <li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
461
+
462
+ <li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
463
+
464
+ <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
465
+
466
+ <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
467
+
468
+ <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
469
+
470
+ <li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
471
+
472
+ <li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
473
+
474
+ <li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
475
+
476
+ <li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
477
+
478
+ <li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
479
+
480
+ <li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
481
+
482
+ <li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
483
+
484
+ <li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
485
+
486
+ <li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
487
+
488
+ <li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
489
+
490
+ <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
491
+
492
+ <li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
493
+
494
+ <li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
495
+
496
+ <li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
497
+
498
+ <li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
499
+
500
+ <li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
501
+
502
+ <li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
503
+
504
+ <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
505
+
506
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
507
+
508
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
509
+
510
+ <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
511
+
512
+ <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
513
+
514
+ <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
515
+
516
+ <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
517
+
518
+ <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
519
+
520
+ <li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
521
+
522
+ <li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
523
+
524
+ <li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
525
+
526
+ <li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
527
+
528
+ <li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
529
+
530
+ <li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
531
+
532
+ <li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
533
+
534
+ <li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
535
+
536
+ <li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
537
+
538
+ <li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
539
+
540
+ <li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
541
+
542
+ <li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
543
+
544
+ <li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
545
+
546
+ <li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
547
+
548
+ <li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
549
+
550
+ <li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
551
+
552
+ <li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
553
+
554
+ <li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
555
+
556
+ <li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
557
+
558
+ <li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
559
+
560
+ <li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
561
+
562
+ <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
563
+
564
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
565
+
566
+ <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
567
+
568
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
569
+
570
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
571
+
572
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
573
+
574
+ <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
575
+
576
+ <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
577
+
578
+ <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
579
+
580
+ <li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
581
+
582
+ <li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
583
+
584
+ <li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
585
+
586
+ <li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
587
+
588
+ <li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
589
+
590
+ <li><a href="../Diff.html">Diff</a></li>
591
+
592
+ <li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
593
+
594
+ <li><a href="../AppConfig.html">AppConfig</a></li>
595
+
596
+ <li><a href="../Diffable.html">Diffable</a></li>
597
+
598
+ <li><a href="../DiffableString.html">DiffableString</a></li>
599
+
600
+ <li><a href="../Object.html">Object</a></li>
601
+
602
+ <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
603
+
604
+ <li><a href="../String.html">String</a></li>
605
+
606
+ </ul>
607
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
608
+ </div>
609
+
610
+
611
+ </div>
612
+ </div>
613
+
614
+ <div id="documentation">
615
+ <h1 class="class">TaskJuggler::LogicalFunction</h1>
616
+
617
+ <div id="description">
618
+ <p>
619
+ The <a href="LogicalFunction.html">LogicalFunction</a> is a specialization
620
+ of the <a href="LogicalOperation.html">LogicalOperation</a>. It models a
621
+ function call in a <a href="LogicalExpression.html">LogicalExpression</a>.
622
+ </p>
623
+
624
+ </div>
625
+
626
+ <!-- Constants -->
627
+
628
+
629
+ <!-- Attributes -->
630
+
631
+ <div id="attribute-method-details" class="method-section section">
632
+ <h3 class="section-header">Attributes</h3>
633
+
634
+
635
+ <div id="name-attribute-method" class="method-detail">
636
+ <a name="name"></a>
637
+
638
+ <a name="name="></a>
639
+
640
+ <div class="method-heading attribute-method-heading">
641
+ <span class="method-name">name</span><span
642
+ class="attribute-access-type">[RW]</span>
643
+ </div>
644
+
645
+ <div class="method-description">
646
+
647
+
648
+
649
+ </div>
650
+ </div>
651
+
652
+ <div id="arguments-attribute-method" class="method-detail">
653
+ <a name="arguments"></a>
654
+
655
+ <a name="arguments="></a>
656
+
657
+ <div class="method-heading attribute-method-heading">
658
+ <span class="method-name">arguments</span><span
659
+ class="attribute-access-type">[RW]</span>
660
+ </div>
661
+
662
+ <div class="method-description">
663
+
664
+
665
+
666
+ </div>
667
+ </div>
668
+
669
+ </div>
670
+
671
+
672
+ <!-- Methods -->
673
+
674
+ <div id="public-class-method-details" class="method-section section">
675
+ <h3 class="section-header">Public Class Methods</h3>
676
+
677
+
678
+ <div id="new-method" class="method-detail ">
679
+ <a name="method-c-new"></a>
680
+
681
+ <div class="method-heading">
682
+
683
+ <span class="method-name">new</span><span
684
+ class="method-args">(opnd)</span>
685
+ <span class="method-click-advice">click to toggle source</span>
686
+
687
+ </div>
688
+
689
+ <div class="method-description">
690
+
691
+ <p>
692
+ Create a new <a href="LogicalFunction.html">LogicalFunction</a>.
693
+ <em>opnd</em> is the name of the function.
694
+ </p>
695
+
696
+
697
+
698
+ <div class="method-source-code"
699
+ id="new-source">
700
+ <pre>
701
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 42</span>
702
+ 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
703
+ 43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opnd</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">__</span>
704
+ 44: <span class="ruby-comment cmt"># Function names with a trailing _ are like their counterparts without</span>
705
+ 45: <span class="ruby-comment cmt"># the _. But during evaluation the property and the scope properties</span>
706
+ 46: <span class="ruby-comment cmt"># will be switched.</span>
707
+ 47: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>]
708
+ 48: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">true</span>
709
+ 49: <span class="ruby-keyword kw">else</span>
710
+ 50: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>
711
+ 51: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">false</span>
712
+ 52: <span class="ruby-keyword kw">end</span>
713
+ 53: <span class="ruby-ivar">@arguments</span> = []
714
+ 54: <span class="ruby-keyword kw">end</span></pre>
715
+ </div>
716
+
717
+ </div>
718
+
719
+
720
+
721
+
722
+ </div>
723
+
724
+
725
+ </div>
726
+
727
+ <div id="public-instance-method-details" class="method-section section">
728
+ <h3 class="section-header">Public Instance Methods</h3>
729
+
730
+
731
+ <div id="eval-method" class="method-detail ">
732
+ <a name="method-i-eval"></a>
733
+
734
+ <div class="method-heading">
735
+
736
+ <span class="method-name">eval</span><span
737
+ class="method-args">(expr)</span>
738
+ <span class="method-click-advice">click to toggle source</span>
739
+
740
+ </div>
741
+
742
+ <div class="method-description">
743
+
744
+ <p>
745
+ Evaluate the function by calling it with the arguments.
746
+ </p>
747
+
748
+
749
+
750
+ <div class="method-source-code"
751
+ id="eval-source">
752
+ <pre>
753
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 74</span>
754
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
755
+ 75: <span class="ruby-comment cmt"># Call the function and return the result.</span>
756
+ 76: <span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">expr</span>, <span class="ruby-ivar">@arguments</span>)
757
+ 77: <span class="ruby-keyword kw">end</span></pre>
758
+ </div>
759
+
760
+ </div>
761
+
762
+
763
+
764
+
765
+ </div>
766
+
767
+
768
+ <div id="set-rguments-nd-heck-method" class="method-detail ">
769
+ <a name="method-i-setArgumentsAndCheck"></a>
770
+
771
+ <div class="method-heading">
772
+
773
+ <span class="method-name">setArgumentsAndCheck</span><span
774
+ class="method-args">(args)</span>
775
+ <span class="method-click-advice">click to toggle source</span>
776
+
777
+ </div>
778
+
779
+ <div class="method-description">
780
+
781
+ <p>
782
+ Register the arguments of the function and check if the name is a known
783
+ function and the number of arguments match this function. If not, return an
784
+ [ id, message ] error. Otherwise nil.
785
+ </p>
786
+
787
+
788
+
789
+ <div class="method-source-code"
790
+ id="set-rguments-nd-heck-source">
791
+ <pre>
792
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 59</span>
793
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArgumentsAndCheck</span>(<span class="ruby-identifier">args</span>)
794
+ 60: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">@@functions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@name</span>)
795
+ 61: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'unknown_function'</span>,
796
+ 62: <span class="ruby-node">&quot;Unknown function #{@name} used in logical expression.&quot;</span> ]
797
+ 63: <span class="ruby-keyword kw">end</span>
798
+ 64: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@functions</span>[<span class="ruby-ivar">@name</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span>
799
+ 65: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'wrong_no_func_arguments'</span>,
800
+ 66: <span class="ruby-node">&quot;Wrong number of arguments for function #{@name}. Got &quot;</span> <span class="ruby-operator">+</span>
801
+ 67: <span class="ruby-node">&quot;#{args.length} instead of #{@@functions[@name]}.&quot;</span> ]
802
+ 68: <span class="ruby-keyword kw">end</span>
803
+ 69: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">args</span>
804
+ 70: <span class="ruby-keyword kw">nil</span>
805
+ 71: <span class="ruby-keyword kw">end</span></pre>
806
+ </div>
807
+
808
+ </div>
809
+
810
+
811
+
812
+
813
+ </div>
814
+
815
+
816
+ <div id="to-s-method" class="method-detail ">
817
+ <a name="method-i-to_s"></a>
818
+
819
+ <div class="method-heading">
820
+
821
+ <span class="method-name">to_s</span><span
822
+ class="method-args">()</span>
823
+ <span class="method-click-advice">click to toggle source</span>
824
+
825
+ </div>
826
+
827
+ <div class="method-description">
828
+
829
+ <p>
830
+ Return a textual expression of the function call.
831
+ </p>
832
+
833
+
834
+
835
+ <div class="method-source-code"
836
+ id="to-s-source">
837
+ <pre>
838
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 80</span>
839
+ 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
840
+ 81: <span class="ruby-node">&quot;#{@name}(#{@arguments.join(', ')})&quot;</span>
841
+ 82: <span class="ruby-keyword kw">end</span></pre>
842
+ </div>
843
+
844
+ </div>
845
+
846
+
847
+
848
+
849
+ </div>
850
+
851
+
852
+ </div>
853
+
854
+ <div id="private-instance-method-details" class="method-section section">
855
+ <h3 class="section-header">Private Instance Methods</h3>
856
+
857
+
858
+ <div id="hasalert-method" class="method-detail ">
859
+ <a name="method-i-hasalert"></a>
860
+
861
+ <div class="method-heading">
862
+
863
+ <span class="method-name">hasalert</span><span
864
+ class="method-args">(expr, args)</span>
865
+ <span class="method-click-advice">click to toggle source</span>
866
+
867
+ </div>
868
+
869
+ <div class="method-description">
870
+
871
+
872
+
873
+
874
+
875
+ <div class="method-source-code"
876
+ id="hasalert-source">
877
+ <pre>
878
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 96</span>
879
+ 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasalert</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
880
+ 97: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
881
+ 98: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
882
+ 99: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
883
+ 100: <span class="ruby-operator">!</span><span class="ruby-identifier">project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-identifier">property</span>,
884
+ 101: <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>,
885
+ 102: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>).<span class="ruby-identifier">empty?</span>
886
+ 103: <span class="ruby-keyword kw">end</span></pre>
887
+ </div>
888
+
889
+ </div>
890
+
891
+
892
+
893
+
894
+ </div>
895
+
896
+
897
+ <div id="isactive-method" class="method-detail ">
898
+ <a name="method-i-isactive"></a>
899
+
900
+ <div class="method-heading">
901
+
902
+ <span class="method-name">isactive</span><span
903
+ class="method-args">(expr, args)</span>
904
+ <span class="method-click-advice">click to toggle source</span>
905
+
906
+ </div>
907
+
908
+ <div class="method-description">
909
+
910
+
911
+
912
+
913
+
914
+ <div class="method-source-code"
915
+ id="isactive-source">
916
+ <pre>
917
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 105</span>
918
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isactive</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
919
+ 106: <span class="ruby-identifier">property</span>, <span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)
920
+ 107: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
921
+ 108: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">||</span>
922
+ 109: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Resource</span>)
923
+ 110: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
924
+ 111: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
925
+ 112: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
926
+ 113: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown scenario '#{args[0]}' used for function isactive()&quot;</span>)
927
+ 114: <span class="ruby-keyword kw">end</span>
928
+ 115:
929
+ 116: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
930
+ 117: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>,
931
+ 118: <span class="ruby-identifier">scopeProperty</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0.0</span>
932
+ 119: <span class="ruby-keyword kw">end</span></pre>
933
+ </div>
934
+
935
+ </div>
936
+
937
+
938
+
939
+
940
+ </div>
941
+
942
+
943
+ <div id="ischildof-method" class="method-detail ">
944
+ <a name="method-i-ischildof"></a>
945
+
946
+ <div class="method-heading">
947
+
948
+ <span class="method-name">ischildof</span><span
949
+ class="method-args">(expr, args)</span>
950
+ <span class="method-click-advice">click to toggle source</span>
951
+
952
+ </div>
953
+
954
+ <div class="method-description">
955
+
956
+
957
+
958
+
959
+
960
+ <div class="method-source-code"
961
+ id="ischildof-source">
962
+ <pre>
963
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 121</span>
964
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ischildof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
965
+ 122: <span class="ruby-comment cmt"># The the context property.</span>
966
+ 123: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
967
+ 124: <span class="ruby-comment cmt"># Find the prospective parent ID in the current PropertySet.</span>
968
+ 125: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">parent</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">propertySet</span>[<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]])
969
+ 126:
970
+ 127: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">parent</span>)
971
+ 128: <span class="ruby-keyword kw">end</span></pre>
972
+ </div>
973
+
974
+ </div>
975
+
976
+
977
+
978
+
979
+ </div>
980
+
981
+
982
+ <div id="isdependencyof-method" class="method-detail ">
983
+ <a name="method-i-isdependencyof"></a>
984
+
985
+ <div class="method-heading">
986
+
987
+ <span class="method-name">isdependencyof</span><span
988
+ class="method-args">(expr, args)</span>
989
+ <span class="method-click-advice">click to toggle source</span>
990
+
991
+ </div>
992
+
993
+ <div class="method-description">
994
+
995
+
996
+
997
+
998
+
999
+ <div class="method-source-code"
1000
+ id="isdependencyof-source">
1001
+ <pre>
1002
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 130</span>
1003
+ 130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isdependencyof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1004
+ 131: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1005
+ 132: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1006
+ 133: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1007
+ 134: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
1008
+ 135: <span class="ruby-comment cmt"># 1st arg must be a task ID.</span>
1009
+ 136: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1010
+ 137: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
1011
+ 138: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
1012
+ 139: <span class="ruby-comment cmt"># 3rd arg must be an integer number.</span>
1013
+ 140: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>)
1014
+ 141:
1015
+ 142: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isDependencyOf</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>])
1016
+ 143: <span class="ruby-keyword kw">end</span></pre>
1017
+ </div>
1018
+
1019
+ </div>
1020
+
1021
+
1022
+
1023
+
1024
+ </div>
1025
+
1026
+
1027
+ <div id="isdutyof-method" class="method-detail ">
1028
+ <a name="method-i-isdutyof"></a>
1029
+
1030
+ <div class="method-heading">
1031
+
1032
+ <span class="method-name">isdutyof</span><span
1033
+ class="method-args">(expr, args)</span>
1034
+ <span class="method-click-advice">click to toggle source</span>
1035
+
1036
+ </div>
1037
+
1038
+ <div class="method-description">
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+ <div class="method-source-code"
1045
+ id="isdutyof-source">
1046
+ <pre>
1047
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 145</span>
1048
+ 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isdutyof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1049
+ 146: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1050
+ 147: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1051
+ 148: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">property</span>).<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1052
+ 149: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">project</span>
1053
+ 150: <span class="ruby-comment cmt"># 1st arg must be a resource ID.</span>
1054
+ 151: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">resource</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resource</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1055
+ 152: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
1056
+ 153: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
1057
+ 154:
1058
+ 155: <span class="ruby-identifier">task</span>[<span class="ruby-value str">'assignedresources'</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">resource</span>)
1059
+ 156: <span class="ruby-keyword kw">end</span></pre>
1060
+ </div>
1061
+
1062
+ </div>
1063
+
1064
+
1065
+
1066
+
1067
+ </div>
1068
+
1069
+
1070
+ <div id="isfeatureof-method" class="method-detail ">
1071
+ <a name="method-i-isfeatureof"></a>
1072
+
1073
+ <div class="method-heading">
1074
+
1075
+ <span class="method-name">isfeatureof</span><span
1076
+ class="method-args">(expr, args)</span>
1077
+ <span class="method-click-advice">click to toggle source</span>
1078
+
1079
+ </div>
1080
+
1081
+ <div class="method-description">
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+ <div class="method-source-code"
1088
+ id="isfeatureof-source">
1089
+ <pre>
1090
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 158</span>
1091
+ 158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isfeatureof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1092
+ 159: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1093
+ 160: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1094
+ 161: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1095
+ 162: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
1096
+ 163: <span class="ruby-comment cmt"># 1st arg must be a task ID.</span>
1097
+ 164: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1098
+ 165: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
1099
+ 166: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
1100
+ 167:
1101
+ 168: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isFeatureOf</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">task</span>)
1102
+ 169: <span class="ruby-keyword kw">end</span></pre>
1103
+ </div>
1104
+
1105
+ </div>
1106
+
1107
+
1108
+
1109
+
1110
+ </div>
1111
+
1112
+
1113
+ <div id="isleaf-method" class="method-detail ">
1114
+ <a name="method-i-isleaf"></a>
1115
+
1116
+ <div class="method-heading">
1117
+
1118
+ <span class="method-name">isleaf</span><span
1119
+ class="method-args">(expr, args)</span>
1120
+ <span class="method-click-advice">click to toggle source</span>
1121
+
1122
+ </div>
1123
+
1124
+ <div class="method-description">
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+ <div class="method-source-code"
1131
+ id="isleaf-source">
1132
+ <pre>
1133
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 171</span>
1134
+ 171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isleaf</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1135
+ 172: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1136
+ 173: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1137
+ 174: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">leaf?</span>
1138
+ 175: <span class="ruby-keyword kw">end</span></pre>
1139
+ </div>
1140
+
1141
+ </div>
1142
+
1143
+
1144
+
1145
+
1146
+ </div>
1147
+
1148
+
1149
+ <div id="ismilestone-method" class="method-detail ">
1150
+ <a name="method-i-ismilestone"></a>
1151
+
1152
+ <div class="method-heading">
1153
+
1154
+ <span class="method-name">ismilestone</span><span
1155
+ class="method-args">(expr, args)</span>
1156
+ <span class="method-click-advice">click to toggle source</span>
1157
+
1158
+ </div>
1159
+
1160
+ <div class="method-description">
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+ <div class="method-source-code"
1167
+ id="ismilestone-source">
1168
+ <pre>
1169
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 177</span>
1170
+ 177: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ismilestone</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1171
+ 178: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1172
+ 179: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1173
+ 180: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
1174
+ 181: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1175
+ 182:
1176
+ 183: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">property</span>[<span class="ruby-value str">'milestone'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1177
+ 184: <span class="ruby-keyword kw">end</span></pre>
1178
+ </div>
1179
+
1180
+ </div>
1181
+
1182
+
1183
+
1184
+
1185
+ </div>
1186
+
1187
+
1188
+ <div id="isongoing-method" class="method-detail ">
1189
+ <a name="method-i-isongoing"></a>
1190
+
1191
+ <div class="method-heading">
1192
+
1193
+ <span class="method-name">isongoing</span><span
1194
+ class="method-args">(expr, args)</span>
1195
+ <span class="method-click-advice">click to toggle source</span>
1196
+
1197
+ </div>
1198
+
1199
+ <div class="method-description">
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+ <div class="method-source-code"
1206
+ id="isongoing-source">
1207
+ <pre>
1208
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 186</span>
1209
+ 186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isongoing</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1210
+ 187: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1211
+ 188: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1212
+ 189: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">property</span>).<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1213
+ 190: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">project</span>
1214
+ 191: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
1215
+ 192: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1216
+ 193: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown scenario '#{args[0]}' used for function &quot;</span> <span class="ruby-operator">+</span>
1217
+ 194: <span class="ruby-value str">&quot;isongoing()&quot;</span>)
1218
+ 195: <span class="ruby-keyword kw">end</span>
1219
+ 196:
1220
+ 197: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
1221
+ 198: <span class="ruby-identifier">iv1</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>)
1222
+ 199: <span class="ruby-identifier">tStart</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'start'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1223
+ 200: <span class="ruby-identifier">tEnd</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1224
+ 201: <span class="ruby-comment cmt"># This helps to show tasks with scheduling errors.</span>
1225
+ 202: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tStart</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">tEnd</span>
1226
+ 203: <span class="ruby-identifier">iv2</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tStart</span>, <span class="ruby-identifier">tEnd</span>)
1227
+ 204:
1228
+ 205: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">iv1</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv2</span>)
1229
+ 206: <span class="ruby-keyword kw">end</span></pre>
1230
+ </div>
1231
+
1232
+ </div>
1233
+
1234
+
1235
+
1236
+
1237
+ </div>
1238
+
1239
+
1240
+ <div id="isresource-method" class="method-detail ">
1241
+ <a name="method-i-isresource"></a>
1242
+
1243
+ <div class="method-heading">
1244
+
1245
+ <span class="method-name">isresource</span><span
1246
+ class="method-args">(expr, args)</span>
1247
+ <span class="method-click-advice">click to toggle source</span>
1248
+
1249
+ </div>
1250
+
1251
+ <div class="method-description">
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+ <div class="method-source-code"
1258
+ id="isresource-source">
1259
+ <pre>
1260
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 208</span>
1261
+ 208: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isresource</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1262
+ 209: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1263
+ 210: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1264
+ 211: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Resource</span>)
1265
+ 212: <span class="ruby-keyword kw">end</span></pre>
1266
+ </div>
1267
+
1268
+ </div>
1269
+
1270
+
1271
+
1272
+
1273
+ </div>
1274
+
1275
+
1276
+ <div id="istask-method" class="method-detail ">
1277
+ <a name="method-i-istask"></a>
1278
+
1279
+ <div class="method-heading">
1280
+
1281
+ <span class="method-name">istask</span><span
1282
+ class="method-args">(expr, args)</span>
1283
+ <span class="method-click-advice">click to toggle source</span>
1284
+
1285
+ </div>
1286
+
1287
+ <div class="method-description">
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+ <div class="method-source-code"
1294
+ id="istask-source">
1295
+ <pre>
1296
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 214</span>
1297
+ 214: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">istask</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1298
+ 215: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1299
+ 216: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1300
+ 217: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1301
+ 218: <span class="ruby-keyword kw">end</span></pre>
1302
+ </div>
1303
+
1304
+ </div>
1305
+
1306
+
1307
+
1308
+
1309
+ </div>
1310
+
1311
+
1312
+ <div id="properties-method" class="method-detail ">
1313
+ <a name="method-i-properties"></a>
1314
+
1315
+ <div class="method-heading">
1316
+
1317
+ <span class="method-name">properties</span><span
1318
+ class="method-args">(expr)</span>
1319
+ <span class="method-click-advice">click to toggle source</span>
1320
+
1321
+ </div>
1322
+
1323
+ <div class="method-description">
1324
+
1325
+ <p>
1326
+ Return the property and scope property as determined by the
1327
+ @invertProperties setting.
1328
+ </p>
1329
+
1330
+
1331
+
1332
+ <div class="method-source-code"
1333
+ id="properties-source">
1334
+ <pre>
1335
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 88</span>
1336
+ 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)
1337
+ 89: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@invertProperties</span>
1338
+ 90: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>, <span class="ruby-keyword kw">nil</span>
1339
+ 91: <span class="ruby-keyword kw">else</span>
1340
+ 92: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>, <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>
1341
+ 93: <span class="ruby-keyword kw">end</span>
1342
+ 94: <span class="ruby-keyword kw">end</span></pre>
1343
+ </div>
1344
+
1345
+ </div>
1346
+
1347
+
1348
+
1349
+
1350
+ </div>
1351
+
1352
+
1353
+ <div id="treelevel-method" class="method-detail ">
1354
+ <a name="method-i-treelevel"></a>
1355
+
1356
+ <div class="method-heading">
1357
+
1358
+ <span class="method-name">treelevel</span><span
1359
+ class="method-args">(expr, args)</span>
1360
+ <span class="method-click-advice">click to toggle source</span>
1361
+
1362
+ </div>
1363
+
1364
+ <div class="method-description">
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+ <div class="method-source-code"
1371
+ id="treelevel-source">
1372
+ <pre>
1373
+ <span class="ruby-comment cmt"># File lib/taskjuggler/LogicalFunction.rb, line 220</span>
1374
+ 220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">treelevel</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1375
+ 221: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1376
+ 222: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1377
+ 223: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1378
+ 224: <span class="ruby-keyword kw">end</span></pre>
1379
+ </div>
1380
+
1381
+ </div>
1382
+
1383
+
1384
+
1385
+
1386
+ </div>
1387
+
1388
+
1389
+ </div>
1390
+
1391
+
1392
+ </div>
1393
+
1394
+
1395
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
1396
+
1397
+ <p>Disabled; run with --debug to generate this.</p>
1398
+
1399
+ </div>
1400
+
1401
+ <div id="validator-badges">
1402
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1403
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
1404
+ Rdoc Generator</a> 1.1.6</small>.</p>
1405
+ </div>
1406
+
1407
+ </body>
1408
+ </html>
1409
+