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,2250 @@
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::KeywordDocumentation</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/KeywordDocumentation_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/taskjuggler/KeywordDocumentation.rb">lib/taskjuggler/KeywordDocumentation.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-checkReference">#checkReference</a></li>
75
+
76
+ <li><a href="#method-i-computeInheritance">#computeInheritance</a></li>
77
+
78
+ <li><a href="#method-i-crossReference">#crossReference</a></li>
79
+
80
+ <li><a href="#method-i-format">#format</a></li>
81
+
82
+ <li><a href="#method-i-generateHTML">#generateHTML</a></li>
83
+
84
+ <li><a href="#method-i-generateHTMLAlsoLine">#generateHTMLAlsoLine</a></li>
85
+
86
+ <li><a href="#method-i-generateHTMLArgumentsLine">#generateHTMLArgumentsLine</a></li>
87
+
88
+ <li><a href="#method-i-generateHTMLContextLine">#generateHTMLContextLine</a></li>
89
+
90
+ <li><a href="#method-i-generateHTMLDescriptionBox">#generateHTMLDescriptionBox</a></li>
91
+
92
+ <li><a href="#method-i-generateHTMLExampleBox">#generateHTMLExampleBox</a></li>
93
+
94
+ <li><a href="#method-i-generateHTMLKeywordBox">#generateHTMLKeywordBox</a></li>
95
+
96
+ <li><a href="#method-i-generateHTMLNavigationBar">#generateHTMLNavigationBar</a></li>
97
+
98
+ <li><a href="#method-i-generateHTMLOptionalAttributesBox">#generateHTMLOptionalAttributesBox</a></li>
99
+
100
+ <li><a href="#method-i-generateHTMLPurposeLine">#generateHTMLPurposeLine</a></li>
101
+
102
+ <li><a href="#method-i-generateHTMLSyntaxLine">#generateHTMLSyntaxLine</a></li>
103
+
104
+ <li><a href="#method-i-generateHTMLTableLine">#generateHTMLTableLine</a></li>
105
+
106
+ <li><a href="#method-i-globalScope%3F">#globalScope?</a></li>
107
+
108
+ <li><a href="#method-i-indent">#indent</a></li>
109
+
110
+ <li><a href="#method-i-isProperty%3F">#isProperty?</a></li>
111
+
112
+ <li><a href="#method-i-keywordHTMLRef">#keywordHTMLRef</a></li>
113
+
114
+ <li><a href="#method-i-listHTMLAttributes">#listHTMLAttributes</a></li>
115
+
116
+ <li><a href="#method-i-newRichText">#newRichText</a></li>
117
+
118
+ <li><a href="#method-i-title">#title</a></li>
119
+
120
+ <li><a href="#method-i-to_s">#to_s</a></li>
121
+
122
+ </ul>
123
+ </div>
124
+
125
+
126
+ <!-- Included Modules -->
127
+
128
+ <div id="includes-section" class="section">
129
+ <h3 class="section-header">Included Modules</h3>
130
+ <ul class="link-list">
131
+
132
+
133
+ <li><span class="include">HTMLElements</span></li>
134
+
135
+
136
+ </ul>
137
+ </div>
138
+
139
+ </div>
140
+
141
+ <div id="project-metadata">
142
+
143
+
144
+ <div id="fileindex-section" class="section project-section">
145
+ <h3 class="section-header">Files</h3>
146
+ <ul>
147
+
148
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
149
+
150
+ <li class="file"><a href="../COPYING.html">COPYING</a></li>
151
+
152
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
153
+
154
+ </ul>
155
+ </div>
156
+
157
+
158
+ <div id="classindex-section" class="section project-section">
159
+ <h3 class="section-header">Class Index
160
+ <span class="search-toggle"><img src="../images/find.png"
161
+ height="16" width="16" alt="[+]"
162
+ title="show/hide quicksearch" /></span></h3>
163
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
164
+ <fieldset>
165
+ <legend>Quicksearch</legend>
166
+ <input type="text" name="quicksearch" value=""
167
+ class="quicksearch-field" />
168
+ </fieldset>
169
+ </form>
170
+
171
+ <ul class="link-list">
172
+
173
+ <li><a href="../TaskJuggler.html">TaskJuggler</a></li>
174
+
175
+ <li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
176
+
177
+ <li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
178
+
179
+ <li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
180
+
181
+ <li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
182
+
183
+ <li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
184
+
185
+ <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
186
+
187
+ <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
188
+
189
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
190
+
191
+ <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
192
+
193
+ <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
194
+
195
+ <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
196
+
197
+ <li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
198
+
199
+ <li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
200
+
201
+ <li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
202
+
203
+ <li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
204
+
205
+ <li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
206
+
207
+ <li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
208
+
209
+ <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
210
+
211
+ <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
212
+
213
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
214
+
215
+ <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
216
+
217
+ <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
218
+
219
+ <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
220
+
221
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
222
+
223
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
224
+
225
+ <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
226
+
227
+ <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
228
+
229
+ <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
230
+
231
+ <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
232
+
233
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
234
+
235
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
236
+
237
+ <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
238
+
239
+ <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
240
+
241
+ <li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
242
+
243
+ <li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
244
+
245
+ <li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
246
+
247
+ <li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
248
+
249
+ <li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
250
+
251
+ <li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
252
+
253
+ <li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
254
+
255
+ <li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
256
+
257
+ <li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
258
+
259
+ <li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
260
+
261
+ <li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
262
+
263
+ <li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
264
+
265
+ <li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
266
+
267
+ <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
268
+
269
+ <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
270
+
271
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
272
+
273
+ <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
274
+
275
+ <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
276
+
277
+ <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
278
+
279
+ <li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
280
+
281
+ <li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
282
+
283
+ <li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
284
+
285
+ <li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
286
+
287
+ <li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
288
+
289
+ <li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
290
+
291
+ <li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
292
+
293
+ <li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
294
+
295
+ <li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
296
+
297
+ <li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
298
+
299
+ <li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
300
+
301
+ <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
302
+
303
+ <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
304
+
305
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
306
+
307
+ <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
308
+
309
+ <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
310
+
311
+ <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
312
+
313
+ <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
314
+
315
+ <li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
316
+
317
+ <li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
318
+
319
+ <li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
320
+
321
+ <li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
322
+
323
+ <li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
324
+
325
+ <li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
326
+
327
+ <li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
328
+
329
+ <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
330
+
331
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
332
+
333
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
334
+
335
+ <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
336
+
337
+ <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
338
+
339
+ <li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
340
+
341
+ <li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
342
+
343
+ <li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
344
+
345
+ <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
346
+
347
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
348
+
349
+ <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
350
+
351
+ <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
352
+
353
+ <li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
354
+
355
+ <li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
356
+
357
+ <li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
358
+
359
+ <li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
360
+
361
+ <li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
362
+
363
+ <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
364
+
365
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
366
+
367
+ <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
368
+
369
+ <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
370
+
371
+ <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
372
+
373
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
374
+
375
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
376
+
377
+ <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
378
+
379
+ <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
380
+
381
+ <li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
382
+
383
+ <li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
384
+
385
+ <li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
386
+
387
+ <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
388
+
389
+ <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
390
+
391
+ <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
392
+
393
+ <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
394
+
395
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
396
+
397
+ <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
398
+
399
+ <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
400
+
401
+ <li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
402
+
403
+ <li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
404
+
405
+ <li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
406
+
407
+ <li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
408
+
409
+ <li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
410
+
411
+ <li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
412
+
413
+ <li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
414
+
415
+ <li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
416
+
417
+ <li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
418
+
419
+ <li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
420
+
421
+ <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
422
+
423
+ <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
424
+
425
+ <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
426
+
427
+ <li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
428
+
429
+ <li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
430
+
431
+ <li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
432
+
433
+ <li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
434
+
435
+ <li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
436
+
437
+ <li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
438
+
439
+ <li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
440
+
441
+ <li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
442
+
443
+ <li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
444
+
445
+ <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
446
+
447
+ <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
448
+
449
+ <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
450
+
451
+ <li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
452
+
453
+ <li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
454
+
455
+ <li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
456
+
457
+ <li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
458
+
459
+ <li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
460
+
461
+ <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
462
+
463
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
464
+
465
+ <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
466
+
467
+ <li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
468
+
469
+ <li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
470
+
471
+ <li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
472
+
473
+ <li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
474
+
475
+ <li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
476
+
477
+ <li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
478
+
479
+ <li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
480
+
481
+ <li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
482
+
483
+ <li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
484
+
485
+ <li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
486
+
487
+ <li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
488
+
489
+ <li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
490
+
491
+ <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
492
+
493
+ <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
494
+
495
+ <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
496
+
497
+ <li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
498
+
499
+ <li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
500
+
501
+ <li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
502
+
503
+ <li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
504
+
505
+ <li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
506
+
507
+ <li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
508
+
509
+ <li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
510
+
511
+ <li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
512
+
513
+ <li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
514
+
515
+ <li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
516
+
517
+ <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
518
+
519
+ <li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
520
+
521
+ <li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
522
+
523
+ <li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
524
+
525
+ <li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
526
+
527
+ <li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
528
+
529
+ <li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
530
+
531
+ <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
532
+
533
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
534
+
535
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
536
+
537
+ <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
538
+
539
+ <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
540
+
541
+ <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
542
+
543
+ <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
544
+
545
+ <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
546
+
547
+ <li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
548
+
549
+ <li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
550
+
551
+ <li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
552
+
553
+ <li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
554
+
555
+ <li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
556
+
557
+ <li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
558
+
559
+ <li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
560
+
561
+ <li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
562
+
563
+ <li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
564
+
565
+ <li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
566
+
567
+ <li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
568
+
569
+ <li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
570
+
571
+ <li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
572
+
573
+ <li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
574
+
575
+ <li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
576
+
577
+ <li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
578
+
579
+ <li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
580
+
581
+ <li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
582
+
583
+ <li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
584
+
585
+ <li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
586
+
587
+ <li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
588
+
589
+ <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
590
+
591
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
592
+
593
+ <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
594
+
595
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
596
+
597
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
598
+
599
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
600
+
601
+ <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
602
+
603
+ <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
604
+
605
+ <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
606
+
607
+ <li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
608
+
609
+ <li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
610
+
611
+ <li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
612
+
613
+ <li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
614
+
615
+ <li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
616
+
617
+ <li><a href="../Diff.html">Diff</a></li>
618
+
619
+ <li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
620
+
621
+ <li><a href="../AppConfig.html">AppConfig</a></li>
622
+
623
+ <li><a href="../Diffable.html">Diffable</a></li>
624
+
625
+ <li><a href="../DiffableString.html">DiffableString</a></li>
626
+
627
+ <li><a href="../Object.html">Object</a></li>
628
+
629
+ <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
630
+
631
+ <li><a href="../String.html">String</a></li>
632
+
633
+ </ul>
634
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
635
+ </div>
636
+
637
+
638
+ </div>
639
+ </div>
640
+
641
+ <div id="documentation">
642
+ <h1 class="class">TaskJuggler::KeywordDocumentation</h1>
643
+
644
+ <div id="description">
645
+ <p>
646
+ The textual <a href="../TaskJuggler.html">TaskJuggler</a> <a
647
+ href="Project.html">Project</a> description consists of many keywords. The
648
+ parser has built-in support to document the meaning and usage of these
649
+ keywords. Most keywords are unique, but there can be exceptions. To resolve
650
+ ambiguoties the keywords can be prefixed by a scope. The scope is usually a
651
+ keyword that describes the context that the ambiguous keyword is used in.
652
+ This class stores the keyword, the corresponding <a
653
+ href="TextParser/Pattern.html">TextParser::Pattern</a> and the context that
654
+ the keyword is used in. It also stores information such as the list of
655
+ optional attributes (keywords used in the context of the current keyword)
656
+ and whether the keyword is scenario specific or not.
657
+ </p>
658
+
659
+ </div>
660
+
661
+ <!-- Constants -->
662
+
663
+
664
+ <!-- Attributes -->
665
+
666
+ <div id="attribute-method-details" class="method-section section">
667
+ <h3 class="section-header">Attributes</h3>
668
+
669
+
670
+ <div id="keyword-attribute-method" class="method-detail">
671
+ <a name="keyword"></a>
672
+
673
+ <div class="method-heading attribute-method-heading">
674
+ <span class="method-name">keyword</span><span
675
+ class="attribute-access-type">[R]</span>
676
+ </div>
677
+
678
+ <div class="method-description">
679
+
680
+
681
+
682
+ </div>
683
+ </div>
684
+
685
+ <div id="names-attribute-method" class="method-detail">
686
+ <a name="names"></a>
687
+
688
+ <div class="method-heading attribute-method-heading">
689
+ <span class="method-name">names</span><span
690
+ class="attribute-access-type">[R]</span>
691
+ </div>
692
+
693
+ <div class="method-description">
694
+
695
+
696
+
697
+ </div>
698
+ </div>
699
+
700
+ <div id="pattern-attribute-method" class="method-detail">
701
+ <a name="pattern"></a>
702
+
703
+ <div class="method-heading attribute-method-heading">
704
+ <span class="method-name">pattern</span><span
705
+ class="attribute-access-type">[R]</span>
706
+ </div>
707
+
708
+ <div class="method-description">
709
+
710
+
711
+
712
+ </div>
713
+ </div>
714
+
715
+ <div id="references-attribute-method" class="method-detail">
716
+ <a name="references"></a>
717
+
718
+ <div class="method-heading attribute-method-heading">
719
+ <span class="method-name">references</span><span
720
+ class="attribute-access-type">[R]</span>
721
+ </div>
722
+
723
+ <div class="method-description">
724
+
725
+
726
+
727
+ </div>
728
+ </div>
729
+
730
+ <div id="optional-ttributes-attribute-method" class="method-detail">
731
+ <a name="optionalAttributes"></a>
732
+
733
+ <div class="method-heading attribute-method-heading">
734
+ <span class="method-name">optionalAttributes</span><span
735
+ class="attribute-access-type">[R]</span>
736
+ </div>
737
+
738
+ <div class="method-description">
739
+
740
+
741
+
742
+ </div>
743
+ </div>
744
+
745
+ <div id="contexts-attribute-method" class="method-detail">
746
+ <a name="contexts"></a>
747
+
748
+ <a name="contexts="></a>
749
+
750
+ <div class="method-heading attribute-method-heading">
751
+ <span class="method-name">contexts</span><span
752
+ class="attribute-access-type">[RW]</span>
753
+ </div>
754
+
755
+ <div class="method-description">
756
+
757
+
758
+
759
+ </div>
760
+ </div>
761
+
762
+ <div id="scenario-pecific-attribute-method" class="method-detail">
763
+ <a name="scenarioSpecific"></a>
764
+
765
+ <a name="scenarioSpecific="></a>
766
+
767
+ <div class="method-heading attribute-method-heading">
768
+ <span class="method-name">scenarioSpecific</span><span
769
+ class="attribute-access-type">[RW]</span>
770
+ </div>
771
+
772
+ <div class="method-description">
773
+
774
+
775
+
776
+ </div>
777
+ </div>
778
+
779
+ <div id="inherited-rom-roject-attribute-method" class="method-detail">
780
+ <a name="inheritedFromProject"></a>
781
+
782
+ <a name="inheritedFromProject="></a>
783
+
784
+ <div class="method-heading attribute-method-heading">
785
+ <span class="method-name">inheritedFromProject</span><span
786
+ class="attribute-access-type">[RW]</span>
787
+ </div>
788
+
789
+ <div class="method-description">
790
+
791
+
792
+
793
+ </div>
794
+ </div>
795
+
796
+ <div id="inherited-rom-arent-attribute-method" class="method-detail">
797
+ <a name="inheritedFromParent"></a>
798
+
799
+ <a name="inheritedFromParent="></a>
800
+
801
+ <div class="method-heading attribute-method-heading">
802
+ <span class="method-name">inheritedFromParent</span><span
803
+ class="attribute-access-type">[RW]</span>
804
+ </div>
805
+
806
+ <div class="method-description">
807
+
808
+
809
+
810
+ </div>
811
+ </div>
812
+
813
+ <div id="predecessor-attribute-method" class="method-detail">
814
+ <a name="predecessor"></a>
815
+
816
+ <a name="predecessor="></a>
817
+
818
+ <div class="method-heading attribute-method-heading">
819
+ <span class="method-name">predecessor</span><span
820
+ class="attribute-access-type">[RW]</span>
821
+ </div>
822
+
823
+ <div class="method-description">
824
+
825
+
826
+
827
+ </div>
828
+ </div>
829
+
830
+ <div id="successor-attribute-method" class="method-detail">
831
+ <a name="successor"></a>
832
+
833
+ <a name="successor="></a>
834
+
835
+ <div class="method-heading attribute-method-heading">
836
+ <span class="method-name">successor</span><span
837
+ class="attribute-access-type">[RW]</span>
838
+ </div>
839
+
840
+ <div class="method-description">
841
+
842
+
843
+
844
+ </div>
845
+ </div>
846
+
847
+ </div>
848
+
849
+
850
+ <!-- Methods -->
851
+
852
+ <div id="public-class-method-details" class="method-section section">
853
+ <h3 class="section-header">Public Class Methods</h3>
854
+
855
+
856
+ <div id="new-method" class="method-detail ">
857
+ <a name="method-c-new"></a>
858
+
859
+ <div class="method-heading">
860
+
861
+ <span class="method-name">new</span><span
862
+ class="method-args">(rule, pattern, syntax, args, optAttrPatterns, manual)</span>
863
+ <span class="method-click-advice">click to toggle source</span>
864
+
865
+ </div>
866
+
867
+ <div class="method-description">
868
+
869
+ <p>
870
+ Construct a new <a
871
+ href="KeywordDocumentation.html">KeywordDocumentation</a> object.
872
+ <em>rule</em> is the <a href="TextParser/Rule.html">TextParser::Rule</a>
873
+ and <em>pattern</em> is the corresponding <a
874
+ href="TextParser/Pattern.html">TextParser::Pattern</a>. <em>syntax</em> is
875
+ an expanded syntax representation of the <em>pattern</em>. <em>args</em> is
876
+ a Array of ParserTokenDoc that describe the arguments of the
877
+ <em>pattern</em>. <em>optAttrPatterns</em> is an Array with references to
878
+ TextParser::Patterns that are optional attributes to this keyword.
879
+ </p>
880
+
881
+
882
+
883
+ <div class="method-source-code"
884
+ id="new-source">
885
+ <pre>
886
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 46</span>
887
+ 46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">syntax</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">optAttrPatterns</span>, <span class="ruby-identifier">manual</span>)
888
+ 47: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-constant">MessageHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
889
+ 48: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span>
890
+ 49: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
891
+ 50: <span class="ruby-comment cmt"># The unique identifier. Usually the attribute or property name. To</span>
892
+ 51: <span class="ruby-comment cmt"># disambiguate a .&lt;scope&gt; can be added.</span>
893
+ 52: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>
894
+ 53: <span class="ruby-comment cmt"># Similar to @keyword, but without the scope. Since there could be</span>
895
+ 54: <span class="ruby-comment cmt"># several, this is an Array of String objects.</span>
896
+ 55: <span class="ruby-ivar">@names</span> = []
897
+ 56: <span class="ruby-ivar">@syntax</span> = <span class="ruby-identifier">syntax</span>
898
+ 57: <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span>
899
+ 58: <span class="ruby-ivar">@manual</span> = <span class="ruby-identifier">manual</span>
900
+ 59: <span class="ruby-comment cmt"># Hash that maps patterns of optional attributes to a boolean value. It</span>
901
+ 60: <span class="ruby-comment cmt"># is true if the pattern is a scenario specific attribute.</span>
902
+ 61: <span class="ruby-ivar">@optAttrPatterns</span> = <span class="ruby-identifier">optAttrPatterns</span>
903
+ 62: <span class="ruby-comment cmt"># The above hash is later converted into a list that points to the</span>
904
+ 63: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span>
905
+ 64: <span class="ruby-ivar">@optionalAttributes</span> = []
906
+ 65: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
907
+ 66: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span>
908
+ 67: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span>
909
+ 68: <span class="ruby-ivar">@contexts</span> = []
910
+ 69: <span class="ruby-ivar">@seeAlso</span> = []
911
+ 70: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span>
912
+ 71: <span class="ruby-comment cmt"># alphabetically sorted list.</span>
913
+ 72: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span>
914
+ 73: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span>
915
+ 74: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span>
916
+ 75: <span class="ruby-ivar">@references</span> = []
917
+ 76: <span class="ruby-keyword kw">end</span></pre>
918
+ </div>
919
+
920
+ </div>
921
+
922
+
923
+
924
+
925
+ </div>
926
+
927
+
928
+ </div>
929
+
930
+ <div id="public-instance-method-details" class="method-section section">
931
+ <h3 class="section-header">Public Instance Methods</h3>
932
+
933
+
934
+ <div id="compute-nheritance-method" class="method-detail ">
935
+ <a name="method-i-computeInheritance"></a>
936
+
937
+ <div class="method-heading">
938
+
939
+ <span class="method-name">computeInheritance</span><span
940
+ class="method-args">(keywords, rules)</span>
941
+ <span class="method-click-advice">click to toggle source</span>
942
+
943
+ </div>
944
+
945
+ <div class="method-description">
946
+
947
+
948
+
949
+
950
+
951
+ <div class="method-source-code"
952
+ id="compute-nheritance-source">
953
+ <pre>
954
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 145</span>
955
+ 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeInheritance</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>)
956
+ 146: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>
957
+ 147: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kwd</span><span class="ruby-operator">|</span>
958
+ 148: <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( task resource account report shift scenario)</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>)
959
+ 149: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>
960
+ 150: <span class="ruby-keyword kw">break</span>
961
+ 151: <span class="ruby-keyword kw">end</span>
962
+ 152: <span class="ruby-keyword kw">end</span>
963
+ 153: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>
964
+ 154: <span class="ruby-identifier">project</span> = <span class="ruby-constant">Project</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'id'</span>, <span class="ruby-value str">'dummy'</span>, <span class="ruby-value str">'1.0'</span>, <span class="ruby-keyword kw">nil</span>)
965
+ 155: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span>
966
+ 156: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span>
967
+ 157: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>
968
+ 158: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span>
969
+ 159: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>
970
+ 160: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span>
971
+ 161: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span>
972
+ 162: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
973
+ 163: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>
974
+ 164: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span>
975
+ 165: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span>
976
+ 166: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span>
977
+ 167: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>
978
+ 168: <span class="ruby-keyword kw">end</span>
979
+ 169: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span>
980
+ 170: <span class="ruby-identifier">keyword</span> = <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>)
981
+ 171: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>)
982
+ 172: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>)
983
+ 173: <span class="ruby-keyword kw">end</span>
984
+ 174: <span class="ruby-keyword kw">end</span></pre>
985
+ </div>
986
+
987
+ </div>
988
+
989
+
990
+
991
+
992
+ </div>
993
+
994
+
995
+ <div id="cross-eference-method" class="method-detail ">
996
+ <a name="method-i-crossReference"></a>
997
+
998
+ <div class="method-heading">
999
+
1000
+ <span class="method-name">crossReference</span><span
1001
+ class="method-args">(keywords, rules)</span>
1002
+ <span class="method-click-advice">click to toggle source</span>
1003
+
1004
+ </div>
1005
+
1006
+ <div class="method-description">
1007
+
1008
+ <p>
1009
+ Post process the class member to set cross references to other <a
1010
+ href="KeywordDocumentation.html">KeywordDocumentation</a> items.
1011
+ </p>
1012
+
1013
+
1014
+
1015
+ <div class="method-source-code"
1016
+ id="cross-eference-source">
1017
+ <pre>
1018
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 101</span>
1019
+ 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">crossReference</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>)
1020
+ 102: <span class="ruby-comment cmt"># Get the attribute or property name of the Keyword. This is not unique</span>
1021
+ 103: <span class="ruby-comment cmt"># like @keyword since it's got no scope.</span>
1022
+ 104: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">terminalTokens</span>(<span class="ruby-identifier">rules</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">tok</span><span class="ruby-operator">|</span>
1023
+ 105: <span class="ruby-comment cmt"># Ignore patterns that don't have a real name.</span>
1024
+ 106: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tok</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'{'</span>
1025
+ 107:
1026
+ 108: <span class="ruby-ivar">@names</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tok</span>[<span class="ruby-value">0</span>]
1027
+ 109: <span class="ruby-keyword kw">end</span>
1028
+ 110:
1029
+ 111: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span>
1030
+ 112: <span class="ruby-comment cmt"># is added as context to such patterns.</span>
1031
+ 113: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
1032
+ 114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>)
1033
+ 115: <span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]
1034
+ 116: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
1035
+ 117: <span class="ruby-keyword kw">end</span>
1036
+ 118: <span class="ruby-keyword kw">end</span>
1037
+ 119:
1038
+ 120: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span>
1039
+ 121: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span>
1040
+ 122: <span class="ruby-ivar">@optAttrPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">scenarioSpecific</span><span class="ruby-operator">|</span>
1041
+ 123: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
1042
+ 124:
1043
+ 125: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]).<span class="ruby-identifier">nil?</span>
1044
+ 126: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
1045
+ 127: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Keyword #{keyword} has undocumented optional &quot;</span> <span class="ruby-operator">+</span>
1046
+ 128: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span>
1047
+ 129: <span class="ruby-keyword kw">else</span>
1048
+ 130: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span>
1049
+ 131: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
1050
+ 132: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioSpecific</span>
1051
+ 133: <span class="ruby-keyword kw">end</span>
1052
+ 134: <span class="ruby-keyword kw">end</span>
1053
+ 135:
1054
+ 136: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span>
1055
+ 137: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
1056
+ 138: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>].<span class="ruby-identifier">nil?</span>
1057
+ 139: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span>
1058
+ 140: <span class="ruby-keyword kw">end</span>
1059
+ 141: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>]
1060
+ 142: <span class="ruby-keyword kw">end</span>
1061
+ 143: <span class="ruby-keyword kw">end</span></pre>
1062
+ </div>
1063
+
1064
+ </div>
1065
+
1066
+
1067
+
1068
+
1069
+ </div>
1070
+
1071
+
1072
+ <div id="generate--method" class="method-detail ">
1073
+ <a name="method-i-generateHTML"></a>
1074
+
1075
+ <div class="method-heading">
1076
+
1077
+ <span class="method-name">generateHTML</span><span
1078
+ class="method-args">(directory)</span>
1079
+ <span class="method-click-advice">click to toggle source</span>
1080
+
1081
+ </div>
1082
+
1083
+ <div class="method-description">
1084
+
1085
+ <p>
1086
+ Return a <a href="../String.html">String</a> that represents the keyword
1087
+ documentation in an XML formatted form.
1088
+ </p>
1089
+
1090
+
1091
+
1092
+ <div class="method-source-code"
1093
+ id="generate--source">
1094
+ <pre>
1095
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 309</span>
1096
+ 309: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>)
1097
+ 310: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>)
1098
+ 311: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-identifier">keyword</span>,
1099
+ 312: { <span class="ruby-value str">'description'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'The TaskJuggler Manual'</span>,
1100
+ 313: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">&gt;</span>
1101
+ 314: <span class="ruby-value str">'taskjuggler, project, management'</span> })
1102
+ 315: <span class="ruby-identifier">head</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateStyleSheet</span>
1103
+ 316:
1104
+ 317: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">BODY</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1105
+ 318: [
1106
+ 319: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span>,
1107
+ 320: <span class="ruby-identifier">generateHTMLNavigationBar</span>,
1108
+ 321:
1109
+ 322: <span class="ruby-constant">DIV</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>) <span class="ruby-keyword kw">do</span>
1110
+ 323: [
1111
+ 324: <span class="ruby-identifier">generateHTMLKeywordBox</span>,
1112
+ 325: <span class="ruby-identifier">generateHTMLDescriptionBox</span>,
1113
+ 326: <span class="ruby-identifier">generateHTMLOptionalAttributesBox</span>,
1114
+ 327: <span class="ruby-identifier">generateHTMLExampleBox</span>
1115
+ 328: ]
1116
+ 329: <span class="ruby-keyword kw">end</span>,
1117
+ 330: <span class="ruby-identifier">generateHTMLNavigationBar</span>,
1118
+ 331: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span>
1119
+ 332: ]
1120
+ 333: <span class="ruby-keyword kw">end</span>
1121
+ 334:
1122
+ 335: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>
1123
+ 336: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;#{keyword}.html&quot;</span>)
1124
+ 337: <span class="ruby-keyword kw">else</span>
1125
+ 338: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span>
1126
+ 339: <span class="ruby-keyword kw">end</span>
1127
+ 340: <span class="ruby-keyword kw">end</span></pre>
1128
+ </div>
1129
+
1130
+ </div>
1131
+
1132
+
1133
+
1134
+
1135
+ </div>
1136
+
1137
+
1138
+ <div id="global-cope--method" class="method-detail ">
1139
+ <a name="method-i-globalScope%3F"></a>
1140
+
1141
+ <div class="method-heading">
1142
+
1143
+ <span class="method-name">globalScope?</span><span
1144
+ class="method-args">()</span>
1145
+ <span class="method-click-advice">click to toggle source</span>
1146
+
1147
+ </div>
1148
+
1149
+ <div class="method-description">
1150
+
1151
+ <p>
1152
+ Returns true of the keyword can be used outside of any other keyword
1153
+ context.
1154
+ </p>
1155
+
1156
+
1157
+
1158
+ <div class="method-source-code"
1159
+ id="global-cope--source">
1160
+ <pre>
1161
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 91</span>
1162
+ 91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">globalScope?</span>
1163
+ 92: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1164
+ 93: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span>
1165
+ 94: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'properties'</span>
1166
+ 95: <span class="ruby-keyword kw">end</span>
1167
+ 96: <span class="ruby-keyword kw">false</span>
1168
+ 97: <span class="ruby-keyword kw">end</span></pre>
1169
+ </div>
1170
+
1171
+ </div>
1172
+
1173
+
1174
+
1175
+
1176
+ </div>
1177
+
1178
+
1179
+ <div id="is-roperty--method" class="method-detail ">
1180
+ <a name="method-i-isProperty%3F"></a>
1181
+
1182
+ <div class="method-heading">
1183
+
1184
+ <span class="method-name">isProperty?</span><span
1185
+ class="method-args">()</span>
1186
+ <span class="method-click-advice">click to toggle source</span>
1187
+
1188
+ </div>
1189
+
1190
+ <div class="method-description">
1191
+
1192
+ <p>
1193
+ Returns true of the <a
1194
+ href="KeywordDocumentation.html">KeywordDocumentation</a> is documenting a
1195
+ TJP property (task, resources, etc.). A TJP property can be nested.
1196
+ </p>
1197
+
1198
+
1199
+
1200
+ <div class="method-source-code"
1201
+ id="is-roperty--source">
1202
+ <pre>
1203
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 80</span>
1204
+ 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isProperty?</span>
1205
+ 81: <span class="ruby-comment cmt"># I haven't found a good way to automatically detect all the various</span>
1206
+ 82: <span class="ruby-comment cmt"># report types as properties. The non-nestable ones need to be added</span>
1207
+ 83: <span class="ruby-comment cmt"># manually here.</span>
1208
+ 84: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( export nikureport timesheetreport statussheetreport)</span>.
1209
+ 85: <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">keyword</span>)
1210
+ 86: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
1211
+ 87: <span class="ruby-keyword kw">end</span></pre>
1212
+ </div>
1213
+
1214
+ </div>
1215
+
1216
+
1217
+
1218
+
1219
+ </div>
1220
+
1221
+
1222
+ <div id="title-method" class="method-detail ">
1223
+ <a name="method-i-title"></a>
1224
+
1225
+ <div class="method-heading">
1226
+
1227
+ <span class="method-name">title</span><span
1228
+ class="method-args">()</span>
1229
+ <span class="method-click-advice">click to toggle source</span>
1230
+
1231
+ </div>
1232
+
1233
+ <div class="method-description">
1234
+
1235
+ <p>
1236
+ Return the keyword name in a more readable form. E.g. &#8216;foo.bar&#8217;
1237
+ is returned as &#8216;foo (bar)&#8217;. &#8216;foo&#8217; will remain
1238
+ &#8216;foo&#8217;.
1239
+ </p>
1240
+
1241
+
1242
+
1243
+ <div class="method-source-code"
1244
+ id="title-source">
1245
+ <pre>
1246
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 178</span>
1247
+ 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span>
1248
+ 179: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
1249
+ 180: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kwTokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
1250
+ 181: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span>
1251
+ 182: <span class="ruby-keyword kw">else</span>
1252
+ 183: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span>
1253
+ 184: <span class="ruby-keyword kw">end</span>
1254
+ 185: <span class="ruby-identifier">title</span>
1255
+ 186: <span class="ruby-keyword kw">end</span></pre>
1256
+ </div>
1257
+
1258
+ </div>
1259
+
1260
+
1261
+
1262
+
1263
+ </div>
1264
+
1265
+
1266
+ <div id="to-s-method" class="method-detail ">
1267
+ <a name="method-i-to_s"></a>
1268
+
1269
+ <div class="method-heading">
1270
+
1271
+ <span class="method-name">to_s</span><span
1272
+ class="method-args">()</span>
1273
+ <span class="method-click-advice">click to toggle source</span>
1274
+
1275
+ </div>
1276
+
1277
+ <div class="method-description">
1278
+
1279
+ <p>
1280
+ Return the complete documentation of this keyword as formatted text string.
1281
+ </p>
1282
+
1283
+
1284
+
1285
+ <div class="method-source-code"
1286
+ id="to-s-source">
1287
+ <pre>
1288
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 190</span>
1289
+ 190: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1290
+ 191: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span>
1291
+ 192: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span>
1292
+ 193:
1293
+ 194: <span class="ruby-comment cmt"># Top line with multiple elements</span>
1294
+ 195: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span>
1295
+ 196: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span>
1296
+ 197: <span class="ruby-node">&quot;Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n&quot;</span>
1297
+ 198:
1298
+ 199: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
1299
+ 200: textW)}\n\n&quot;</span>
1300
+ 201:
1301
+ 202: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
1302
+ 203: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Syntax: #{format(tagW, @syntax, textW)}\n\n&quot;</span>
1303
+ 204:
1304
+ 205: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span>
1305
+ 206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
1306
+ 207: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">&quot;none\n\n&quot;</span>, <span class="ruby-identifier">textW</span>)
1307
+ 208: <span class="ruby-keyword kw">else</span>
1308
+ 209: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span>
1309
+ 210: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
1310
+ 211: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
1311
+ 212: <span class="ruby-node">&quot;See '#{arg.name}' for details.&quot;</span>).<span class="ruby-identifier">to_s</span>
1312
+ 213: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-node">&quot;&lt;#{arg.name}&gt;&quot;</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1313
+ 214: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
1314
+ 215: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name}: &quot;</span> <span class="ruby-operator">+</span>
1315
+ 216: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span>
1316
+ 217: <span class="ruby-keyword kw">else</span>
1317
+ 218: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1318
+ 219: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
1319
+ 220: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
1320
+ 221: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">3</span>
1321
+ 222: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name} #{typeSpec}: &quot;</span> <span class="ruby-operator">+</span>
1322
+ 223: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span>
1323
+ 224: <span class="ruby-keyword kw">end</span>
1324
+ 225: <span class="ruby-keyword kw">end</span>
1325
+ 226: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">argStr</span>)
1326
+ 227: <span class="ruby-keyword kw">end</span>
1327
+ 228: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1328
+ 229: <span class="ruby-keyword kw">end</span>
1329
+ 230:
1330
+ 231: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span>
1331
+ 232: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1332
+ 233: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">'Global scope'</span>, <span class="ruby-identifier">textW</span>)
1333
+ 234: <span class="ruby-keyword kw">else</span>
1334
+ 235: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span>
1335
+ 236: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span>
1336
+ 237: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span>
1337
+ 238: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1338
+ 239: <span class="ruby-keyword kw">end</span>
1339
+ 240: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span>
1340
+ 241: <span class="ruby-keyword kw">end</span>
1341
+ 242: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">cxtStr</span>, <span class="ruby-identifier">textW</span>)
1342
+ 243: <span class="ruby-keyword kw">end</span>
1343
+ 244:
1344
+ 245: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span>
1345
+ 246: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
1346
+ 247: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span>
1347
+ 248: <span class="ruby-keyword kw">else</span>
1348
+ 249: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span>
1349
+ 250: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
1350
+ 251: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
1351
+ 252: <span class="ruby-keyword kw">end</span>
1352
+ 253: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span>
1353
+ 254: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1354
+ 255: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span>
1355
+ 256: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1356
+ 257: <span class="ruby-keyword kw">end</span>
1357
+ 258: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span>
1358
+ 259: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span>
1359
+ 260: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1360
+ 261: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1361
+ 262: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span>
1362
+ 263: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span>
1363
+ 264: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
1364
+ 265: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span>
1365
+ 266: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1366
+ 267: <span class="ruby-keyword kw">end</span>
1367
+ 268: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
1368
+ 269: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span>
1369
+ 270: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span>
1370
+ 271: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1371
+ 272: <span class="ruby-keyword kw">end</span>
1372
+ 273: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1373
+ 274: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span>
1374
+ 275: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span>
1375
+ 276: <span class="ruby-keyword kw">end</span>
1376
+ 277: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
1377
+ 278: <span class="ruby-keyword kw">end</span>
1378
+ 279: <span class="ruby-keyword kw">end</span>
1379
+ 280: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span>
1380
+ 281: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n[sc] : Attribute is scenario specific&quot;</span> <span class="ruby-operator">+</span>
1381
+ 282: <span class="ruby-value str">&quot;\n[ig] : Attribute is inherited from global attribute&quot;</span> <span class="ruby-operator">+</span>
1382
+ 283: <span class="ruby-value str">&quot;\n[ip] : Attribute is inherited from parent property&quot;</span>
1383
+ 284: <span class="ruby-keyword kw">end</span>
1384
+ 285: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">attrStr</span>, <span class="ruby-identifier">textW</span>)
1385
+ 286: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1386
+ 287: <span class="ruby-keyword kw">end</span>
1387
+ 288:
1388
+ 289: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
1389
+ 290: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span>
1390
+ 291: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span>
1391
+ 292: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
1392
+ 293: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span>
1393
+ 294: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1394
+ 295: <span class="ruby-keyword kw">end</span>
1395
+ 296: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span>
1396
+ 297: <span class="ruby-keyword kw">end</span>
1397
+ 298: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">alsoStr</span>, <span class="ruby-identifier">textW</span>)
1398
+ 299: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1399
+ 300: <span class="ruby-keyword kw">end</span>
1400
+ 301:
1401
+ 302: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span>
1402
+ 303: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span>
1403
+ 304: <span class="ruby-identifier">str</span>
1404
+ 305: <span class="ruby-keyword kw">end</span></pre>
1405
+ </div>
1406
+
1407
+ </div>
1408
+
1409
+
1410
+
1411
+
1412
+ </div>
1413
+
1414
+
1415
+ </div>
1416
+
1417
+ <div id="private-instance-method-details" class="method-section section">
1418
+ <h3 class="section-header">Private Instance Methods</h3>
1419
+
1420
+
1421
+ <div id="check-eference-method" class="method-detail ">
1422
+ <a name="method-i-checkReference"></a>
1423
+
1424
+ <div class="method-heading">
1425
+
1426
+ <span class="method-name">checkReference</span><span
1427
+ class="method-args">(pattern)</span>
1428
+ <span class="method-click-advice">click to toggle source</span>
1429
+
1430
+ </div>
1431
+
1432
+ <div class="method-description">
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+ <div class="method-source-code"
1439
+ id="check-eference-source">
1440
+ <pre>
1441
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 344</span>
1442
+ 344: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
1443
+ 345: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">nil?</span>
1444
+ 346: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Pattern #{pattern} is undocumented but referenced by &quot;</span> <span class="ruby-operator">+</span>
1445
+ 347: <span class="ruby-node">&quot;#{@keyword}.&quot;</span>
1446
+ 348: <span class="ruby-keyword kw">false</span>
1447
+ 349: <span class="ruby-keyword kw">end</span>
1448
+ 350: <span class="ruby-keyword kw">true</span>
1449
+ 351: <span class="ruby-keyword kw">end</span></pre>
1450
+ </div>
1451
+
1452
+ </div>
1453
+
1454
+
1455
+
1456
+
1457
+ </div>
1458
+
1459
+
1460
+ <div id="format-method" class="method-detail ">
1461
+ <a name="method-i-format"></a>
1462
+
1463
+ <div class="method-heading">
1464
+
1465
+ <span class="method-name">format</span><span
1466
+ class="method-args">(indent, str, width)</span>
1467
+ <span class="method-click-advice">click to toggle source</span>
1468
+
1469
+ </div>
1470
+
1471
+ <div class="method-description">
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+ <div class="method-source-code"
1478
+ id="format-source">
1479
+ <pre>
1480
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 405</span>
1481
+ 405: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">indent</span>, <span class="ruby-identifier">str</span>, <span class="ruby-identifier">width</span>)
1482
+ 406: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">indent</span>).<span class="ruby-identifier">format</span>(<span class="ruby-identifier">str</span>)[<span class="ruby-identifier">indent</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
1483
+ 407: <span class="ruby-keyword kw">end</span></pre>
1484
+ </div>
1485
+
1486
+ </div>
1487
+
1488
+
1489
+
1490
+
1491
+ </div>
1492
+
1493
+
1494
+ <div id="generate-lso-ine-method" class="method-detail ">
1495
+ <a name="method-i-generateHTMLAlsoLine"></a>
1496
+
1497
+ <div class="method-heading">
1498
+
1499
+ <span class="method-name">generateHTMLAlsoLine</span><span
1500
+ class="method-args">()</span>
1501
+ <span class="method-click-advice">click to toggle source</span>
1502
+
1503
+ </div>
1504
+
1505
+ <div class="method-description">
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+ <div class="method-source-code"
1512
+ id="generate-lso-ine-source">
1513
+ <pre>
1514
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 512</span>
1515
+ 512: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLAlsoLine</span>
1516
+ 513: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
1517
+ 514: <span class="ruby-identifier">descr</span> = []
1518
+ 515: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
1519
+ 516: <span class="ruby-identifier">descr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">', '</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">descr</span>.<span class="ruby-identifier">empty?</span>
1520
+ 517: <span class="ruby-identifier">descr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">A</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{a.keyword}.html&quot;</span>) { <span class="ruby-identifier">a</span>.<span class="ruby-identifier">title</span> }
1521
+ 518: <span class="ruby-keyword kw">end</span>
1522
+ 519: <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-value str">'See also'</span>, <span class="ruby-identifier">descr</span>)
1523
+ 520: <span class="ruby-keyword kw">end</span>
1524
+ 521: <span class="ruby-keyword kw">end</span></pre>
1525
+ </div>
1526
+
1527
+ </div>
1528
+
1529
+
1530
+
1531
+
1532
+ </div>
1533
+
1534
+
1535
+ <div id="generate-rguments-ine-method" class="method-detail ">
1536
+ <a name="method-i-generateHTMLArgumentsLine"></a>
1537
+
1538
+ <div class="method-heading">
1539
+
1540
+ <span class="method-name">generateHTMLArgumentsLine</span><span
1541
+ class="method-args">()</span>
1542
+ <span class="method-click-advice">click to toggle source</span>
1543
+
1544
+ </div>
1545
+
1546
+ <div class="method-description">
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+ <div class="method-source-code"
1553
+ id="generate-rguments-ine-source">
1554
+ <pre>
1555
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 457</span>
1556
+ 457: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLArgumentsLine</span>
1557
+ 458: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
1558
+ 459:
1559
+ 460: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
1560
+ 461: <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-value str">'Arguments'</span>, <span class="ruby-value str">'none'</span>)
1561
+ 462: <span class="ruby-keyword kw">else</span>
1562
+ 463: <span class="ruby-identifier">rows</span> = []
1563
+ 464: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1564
+ 465: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
1565
+ 466: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1566
+ 467: <span class="ruby-identifier">col1</span> = <span class="ruby-value str">'Arguments'</span>
1567
+ 468: <span class="ruby-identifier">col1rows</span> = <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">length</span>
1568
+ 469: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1569
+ 470: <span class="ruby-keyword kw">else</span>
1570
+ 471: <span class="ruby-identifier">col1</span> = <span class="ruby-identifier">col1rows</span> = <span class="ruby-keyword kw">nil</span>
1571
+ 472: <span class="ruby-keyword kw">end</span>
1572
+ 473: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1573
+ 474: <span class="ruby-identifier">col2</span> = <span class="ruby-node">&quot;#{arg.name}&quot;</span>
1574
+ 475: <span class="ruby-keyword kw">else</span>
1575
+ 476: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1576
+ 477: <span class="ruby-identifier">typeName</span> = <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>]
1577
+ 478: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
1578
+ 479: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
1579
+ 480: <span class="ruby-identifier">col2</span> = [
1580
+ 481: <span class="ruby-node">&quot;#{arg.name} [&quot;</span>,
1581
+ 482: <span class="ruby-constant">A</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span>
1582
+ 483: <span class="ruby-value str">&quot;The_TaskJuggler_Syntax.html&quot;</span> <span class="ruby-operator">+</span>
1583
+ 484: <span class="ruby-node">&quot;\##{typeName}&quot;</span>) { <span class="ruby-identifier">typeName</span> },
1584
+ 485: <span class="ruby-value str">']'</span>
1585
+ 486: ]
1586
+ 487: <span class="ruby-keyword kw">end</span>
1587
+ 488: <span class="ruby-identifier">col3</span> = <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
1588
+ 489: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span>
1589
+ 490: <span class="ruby-identifier">rows</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-identifier">col1</span>, <span class="ruby-identifier">col2</span>, <span class="ruby-identifier">col3</span>, <span class="ruby-identifier">col1rows</span>)
1590
+ 491: <span class="ruby-keyword kw">end</span>
1591
+ 492: <span class="ruby-identifier">rows</span>
1592
+ 493: <span class="ruby-keyword kw">end</span>
1593
+ 494: <span class="ruby-keyword kw">end</span></pre>
1594
+ </div>
1595
+
1596
+ </div>
1597
+
1598
+
1599
+
1600
+
1601
+ </div>
1602
+
1603
+
1604
+ <div id="generate-ontext-ine-method" class="method-detail ">
1605
+ <a name="method-i-generateHTMLContextLine"></a>
1606
+
1607
+ <div class="method-heading">
1608
+
1609
+ <span class="method-name">generateHTMLContextLine</span><span
1610
+ class="method-args">()</span>
1611
+ <span class="method-click-advice">click to toggle source</span>
1612
+
1613
+ </div>
1614
+
1615
+ <div class="method-description">
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+ <div class="method-source-code"
1622
+ id="generate-ontext-ine-source">
1623
+ <pre>
1624
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 496</span>
1625
+ 496: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLContextLine</span>
1626
+ 497: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1627
+ 498: <span class="ruby-identifier">descr</span> = <span class="ruby-constant">A</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span>
1628
+ 499: <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>) <span class="ruby-keyword kw">do</span>
1629
+ 500: <span class="ruby-value str">'Global scope'</span>
1630
+ 501: <span class="ruby-keyword kw">end</span>
1631
+ 502: <span class="ruby-keyword kw">else</span>
1632
+ 503: <span class="ruby-identifier">descr</span> = []
1633
+ 504: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1634
+ 505: <span class="ruby-identifier">descr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">', '</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">descr</span>.<span class="ruby-identifier">empty?</span>
1635
+ 506: <span class="ruby-identifier">descr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">A</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{c.keyword}.html&quot;</span>) { <span class="ruby-identifier">c</span>.<span class="ruby-identifier">title</span> }
1636
+ 507: <span class="ruby-keyword kw">end</span>
1637
+ 508: <span class="ruby-keyword kw">end</span>
1638
+ 509: <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-value str">'Context'</span>, <span class="ruby-identifier">descr</span>)
1639
+ 510: <span class="ruby-keyword kw">end</span></pre>
1640
+ </div>
1641
+
1642
+ </div>
1643
+
1644
+
1645
+
1646
+
1647
+ </div>
1648
+
1649
+
1650
+ <div id="generate-escription-ox-method" class="method-detail ">
1651
+ <a name="method-i-generateHTMLDescriptionBox"></a>
1652
+
1653
+ <div class="method-heading">
1654
+
1655
+ <span class="method-name">generateHTMLDescriptionBox</span><span
1656
+ class="method-args">()</span>
1657
+ <span class="method-click-advice">click to toggle source</span>
1658
+
1659
+ </div>
1660
+
1661
+ <div class="method-description">
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+ <div class="method-source-code"
1668
+ id="generate-escription-ox-source">
1669
+ <pre>
1670
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 425</span>
1671
+ 425: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLDescriptionBox</span>
1672
+ 426: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span>
1673
+ 427: <span class="ruby-constant">P</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1674
+ 428: <span class="ruby-constant">TABLE</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span> }) <span class="ruby-keyword kw">do</span>
1675
+ 429: [
1676
+ 430: <span class="ruby-constant">COLGROUP</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1677
+ 431: [
1678
+ 432: <span class="ruby-constant">COL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'16%'</span>),
1679
+ 433: <span class="ruby-constant">COL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'24%'</span>),
1680
+ 434: <span class="ruby-constant">COL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'60%'</span>)
1681
+ 435: ]
1682
+ 436: <span class="ruby-keyword kw">end</span>,
1683
+ 437: <span class="ruby-identifier">generateHTMLPurposeLine</span>,
1684
+ 438: <span class="ruby-identifier">generateHTMLSyntaxLine</span>,
1685
+ 439: <span class="ruby-identifier">generateHTMLArgumentsLine</span>,
1686
+ 440: <span class="ruby-identifier">generateHTMLContextLine</span>,
1687
+ 441: <span class="ruby-identifier">generateHTMLAlsoLine</span>
1688
+ 442: ]
1689
+ 443: <span class="ruby-keyword kw">end</span>
1690
+ 444: <span class="ruby-keyword kw">end</span>
1691
+ 445: <span class="ruby-keyword kw">end</span></pre>
1692
+ </div>
1693
+
1694
+ </div>
1695
+
1696
+
1697
+
1698
+
1699
+ </div>
1700
+
1701
+
1702
+ <div id="generate-xample-ox-method" class="method-detail ">
1703
+ <a name="method-i-generateHTMLExampleBox"></a>
1704
+
1705
+ <div class="method-heading">
1706
+
1707
+ <span class="method-name">generateHTMLExampleBox</span><span
1708
+ class="method-args">()</span>
1709
+ <span class="method-click-advice">click to toggle source</span>
1710
+
1711
+ </div>
1712
+
1713
+ <div class="method-description">
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+ <div class="method-source-code"
1720
+ id="generate-xample-ox-source">
1721
+ <pre>
1722
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 620</span>
1723
+ 620: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLExampleBox</span>
1724
+ 621: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span>
1725
+ 622: <span class="ruby-identifier">exampleDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'test'</span>)[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;TestSuite/Syntax/Correct/&quot;</span>
1726
+ 623: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span>
1727
+ 624: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span>
1728
+ 625: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>)
1729
+ 626: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">text</span> = <span class="ruby-identifier">example</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleTag</span>))
1730
+ 627: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;There is no tag '#{@pattern.exampleTag}' in file &quot;</span> <span class="ruby-operator">+</span>
1731
+ 628: <span class="ruby-node">&quot;#{fileName}.&quot;</span>
1732
+ 629: <span class="ruby-keyword kw">end</span>
1733
+ 630:
1734
+ 631: <span class="ruby-constant">DIV</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>) <span class="ruby-keyword kw">do</span>
1735
+ 632: <span class="ruby-constant">PRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>) { <span class="ruby-identifier">text</span> }
1736
+ 633: <span class="ruby-keyword kw">end</span>
1737
+ 634: <span class="ruby-keyword kw">end</span>
1738
+ 635: <span class="ruby-keyword kw">end</span></pre>
1739
+ </div>
1740
+
1741
+ </div>
1742
+
1743
+
1744
+
1745
+
1746
+ </div>
1747
+
1748
+
1749
+ <div id="generate-eyword-ox-method" class="method-detail ">
1750
+ <a name="method-i-generateHTMLKeywordBox"></a>
1751
+
1752
+ <div class="method-heading">
1753
+
1754
+ <span class="method-name">generateHTMLKeywordBox</span><span
1755
+ class="method-args">()</span>
1756
+ <span class="method-click-advice">click to toggle source</span>
1757
+
1758
+ </div>
1759
+
1760
+ <div class="method-description">
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+ <div class="method-source-code"
1767
+ id="generate-eyword-ox-source">
1768
+ <pre>
1769
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 409</span>
1770
+ 409: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLKeywordBox</span>
1771
+ 410: <span class="ruby-comment cmt"># Box with keyword name.</span>
1772
+ 411: <span class="ruby-constant">P</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1773
+ 412: <span class="ruby-constant">TABLE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>) <span class="ruby-keyword kw">do</span>
1774
+ 413: <span class="ruby-constant">TR</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>) <span class="ruby-keyword kw">do</span>
1775
+ 414: [
1776
+ 415: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
1777
+ 416: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:16%'</span>}) { <span class="ruby-value str">'Keyword'</span> },
1778
+ 417: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>,
1779
+ 418: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:84%; font-weight:bold'</span> }) { <span class="ruby-identifier">title</span> }
1780
+ 419: ]
1781
+ 420: <span class="ruby-keyword kw">end</span>
1782
+ 421: <span class="ruby-keyword kw">end</span>
1783
+ 422: <span class="ruby-keyword kw">end</span>
1784
+ 423: <span class="ruby-keyword kw">end</span></pre>
1785
+ </div>
1786
+
1787
+ </div>
1788
+
1789
+
1790
+
1791
+
1792
+ </div>
1793
+
1794
+
1795
+ <div id="generate-avigation-ar-method" class="method-detail ">
1796
+ <a name="method-i-generateHTMLNavigationBar"></a>
1797
+
1798
+ <div class="method-heading">
1799
+
1800
+ <span class="method-name">generateHTMLNavigationBar</span><span
1801
+ class="method-args">()</span>
1802
+ <span class="method-click-advice">click to toggle source</span>
1803
+
1804
+ </div>
1805
+
1806
+ <div class="method-description">
1807
+
1808
+ <p>
1809
+ Generate the navigation bar.
1810
+ </p>
1811
+
1812
+
1813
+
1814
+ <div class="method-source-code"
1815
+ id="generate-avigation-ar-source">
1816
+ <pre>
1817
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 358</span>
1818
+ 358: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
1819
+ 359: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLNavigationBar</span>(
1820
+ 360: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@predecessor</span>.<span class="ruby-identifier">title</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
1821
+ 361: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{@predecessor.keyword}.html&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
1822
+ 362: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@successor</span>.<span class="ruby-identifier">title</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
1823
+ 363: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{@successor.keyword}.html&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>)
1824
+ 364: <span class="ruby-keyword kw">end</span></pre>
1825
+ </div>
1826
+
1827
+ </div>
1828
+
1829
+
1830
+
1831
+
1832
+ </div>
1833
+
1834
+
1835
+ <div id="generate-ptional-ttributes-ox-method" class="method-detail ">
1836
+ <a name="method-i-generateHTMLOptionalAttributesBox"></a>
1837
+
1838
+ <div class="method-heading">
1839
+
1840
+ <span class="method-name">generateHTMLOptionalAttributesBox</span><span
1841
+ class="method-args">()</span>
1842
+ <span class="method-click-advice">click to toggle source</span>
1843
+
1844
+ </div>
1845
+
1846
+ <div class="method-description">
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+ <div class="method-source-code"
1853
+ id="generate-ptional-ttributes-ox-source">
1854
+ <pre>
1855
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 537</span>
1856
+ 537: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLOptionalAttributesBox</span>
1857
+ 538: <span class="ruby-comment cmt"># Box with attributes.</span>
1858
+ 539: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
1859
+ 540: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
1860
+ 541: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
1861
+ 542: <span class="ruby-keyword kw">end</span>
1862
+ 543:
1863
+ 544: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span>
1864
+ 545: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1865
+ 546: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span>
1866
+ 547: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1867
+ 548: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span>
1868
+ 549: <span class="ruby-keyword kw">break</span>
1869
+ 550: <span class="ruby-keyword kw">end</span>
1870
+ 551: <span class="ruby-keyword kw">end</span>
1871
+ 552:
1872
+ 553: <span class="ruby-constant">P</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1873
+ 554: <span class="ruby-constant">TABLE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>) <span class="ruby-keyword kw">do</span>
1874
+ 555: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span>
1875
+ 556: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span>
1876
+ 557: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global</span>
1877
+ 558: <span class="ruby-comment cmt"># scope.</span>
1878
+ 559: <span class="ruby-identifier">rows</span> = []
1879
+ 560: <span class="ruby-identifier">rows</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">COLGROUP</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1880
+ 561: [ <span class="ruby-value">16</span>, <span class="ruby-value">24</span>, <span class="ruby-value">20</span>, <span class="ruby-value">20</span>, <span class="ruby-value">20</span> ].<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-constant">COL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{p}%&quot;</span>) }
1881
+ 562: <span class="ruby-keyword kw">end</span>
1882
+ 563: <span class="ruby-identifier">rows</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">TR</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>) <span class="ruby-keyword kw">do</span>
1883
+ 564: [
1884
+ 565: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
1885
+ 566: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{@optionalAttributes.length + 1}&quot;</span>) <span class="ruby-keyword kw">do</span>
1886
+ 567: <span class="ruby-value str">'Attributes'</span>
1887
+ 568: <span class="ruby-keyword kw">end</span>,
1888
+ 569: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) { <span class="ruby-value str">'Name'</span> },
1889
+ 570: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) { <span class="ruby-value str">'Scen. spec.'</span> },
1890
+ 571: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) { <span class="ruby-value str">'Inh. fm. Global'</span> },
1891
+ 572: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) { <span class="ruby-value str">'Inh. fm. Parent'</span> }
1892
+ 573: ]
1893
+ 574: <span class="ruby-keyword kw">end</span>
1894
+ 575:
1895
+ 576: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1896
+ 577: <span class="ruby-identifier">rows</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">TR</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>) <span class="ruby-keyword kw">do</span>
1897
+ 578: [
1898
+ 579: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) <span class="ruby-keyword kw">do</span>
1899
+ 580: <span class="ruby-constant">A</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{attr.keyword}.html&quot;</span>) { <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">title</span> }
1900
+ 581: <span class="ruby-keyword kw">end</span>,
1901
+ 582: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) <span class="ruby-keyword kw">do</span>
1902
+ 583: <span class="ruby-value str">'x'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
1903
+ 584: <span class="ruby-keyword kw">end</span>,
1904
+ 585: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) <span class="ruby-keyword kw">do</span>
1905
+ 586: <span class="ruby-value str">'x'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
1906
+ 587: <span class="ruby-keyword kw">end</span>,
1907
+ 588: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) <span class="ruby-keyword kw">do</span>
1908
+ 589: <span class="ruby-value str">'x'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1909
+ 590: <span class="ruby-keyword kw">end</span>
1910
+ 591: ]
1911
+ 592: <span class="ruby-keyword kw">end</span>
1912
+ 593: <span class="ruby-keyword kw">end</span>
1913
+ 594: <span class="ruby-identifier">rows</span>
1914
+ 595: <span class="ruby-keyword kw">else</span>
1915
+ 596: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span>
1916
+ 597: <span class="ruby-constant">TR</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>) <span class="ruby-keyword kw">do</span>
1917
+ 598: [
1918
+ 599: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:16%'</span>) <span class="ruby-keyword kw">do</span>
1919
+ 600: <span class="ruby-value str">'Attributes'</span>
1920
+ 601: <span class="ruby-keyword kw">end</span>,
1921
+ 602: <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:84%'</span>) <span class="ruby-keyword kw">do</span>
1922
+ 603: <span class="ruby-identifier">list</span> = []
1923
+ 604: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
1924
+ 605: <span class="ruby-identifier">list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">', '</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">empty?</span>
1925
+ 606: <span class="ruby-identifier">list</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">A</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{attr.keyword}.html&quot;</span>) <span class="ruby-keyword kw">do</span>
1926
+ 607: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">title</span>
1927
+ 608: <span class="ruby-keyword kw">end</span>
1928
+ 609: <span class="ruby-keyword kw">end</span>
1929
+ 610: <span class="ruby-identifier">list</span>
1930
+ 611: <span class="ruby-keyword kw">end</span>
1931
+ 612: ]
1932
+ 613: <span class="ruby-keyword kw">end</span>
1933
+ 614: <span class="ruby-keyword kw">end</span>
1934
+ 615: <span class="ruby-keyword kw">end</span>
1935
+ 616: <span class="ruby-keyword kw">end</span>
1936
+ 617: <span class="ruby-keyword kw">end</span>
1937
+ 618: <span class="ruby-keyword kw">end</span></pre>
1938
+ </div>
1939
+
1940
+ </div>
1941
+
1942
+
1943
+
1944
+
1945
+ </div>
1946
+
1947
+
1948
+ <div id="generate-urpose-ine-method" class="method-detail ">
1949
+ <a name="method-i-generateHTMLPurposeLine"></a>
1950
+
1951
+ <div class="method-heading">
1952
+
1953
+ <span class="method-name">generateHTMLPurposeLine</span><span
1954
+ class="method-args">()</span>
1955
+ <span class="method-click-advice">click to toggle source</span>
1956
+
1957
+ </div>
1958
+
1959
+ <div class="method-description">
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+ <div class="method-source-code"
1966
+ id="generate-urpose-ine-source">
1967
+ <pre>
1968
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 447</span>
1969
+ 447: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLPurposeLine</span>
1970
+ 448: <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-value str">'Purpose'</span>, <span class="ruby-identifier">newRichText</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">doc</span>).<span class="ruby-identifier">to_html</span>)
1971
+ 449: <span class="ruby-keyword kw">end</span></pre>
1972
+ </div>
1973
+
1974
+ </div>
1975
+
1976
+
1977
+
1978
+
1979
+ </div>
1980
+
1981
+
1982
+ <div id="generate-yntax-ine-method" class="method-detail ">
1983
+ <a name="method-i-generateHTMLSyntaxLine"></a>
1984
+
1985
+ <div class="method-heading">
1986
+
1987
+ <span class="method-name">generateHTMLSyntaxLine</span><span
1988
+ class="method-args">()</span>
1989
+ <span class="method-click-advice">click to toggle source</span>
1990
+
1991
+ </div>
1992
+
1993
+ <div class="method-description">
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+ <div class="method-source-code"
2000
+ id="generate-yntax-ine-source">
2001
+ <pre>
2002
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 451</span>
2003
+ 451: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLSyntaxLine</span>
2004
+ 452: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
2005
+ 453: <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-value str">'Syntax'</span>, <span class="ruby-constant">CODE</span>.<span class="ruby-identifier">new</span> { <span class="ruby-ivar">@syntax</span> })
2006
+ 454: <span class="ruby-keyword kw">end</span>
2007
+ 455: <span class="ruby-keyword kw">end</span></pre>
2008
+ </div>
2009
+
2010
+ </div>
2011
+
2012
+
2013
+
2014
+
2015
+ </div>
2016
+
2017
+
2018
+ <div id="generate-able-ine-method" class="method-detail ">
2019
+ <a name="method-i-generateHTMLTableLine"></a>
2020
+
2021
+ <div class="method-heading">
2022
+
2023
+ <span class="method-name">generateHTMLTableLine</span><span
2024
+ class="method-args">(col1, col2, col3 = nil, col1rows = nil)</span>
2025
+ <span class="method-click-advice">click to toggle source</span>
2026
+
2027
+ </div>
2028
+
2029
+ <div class="method-description">
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+ <div class="method-source-code"
2036
+ id="generate-able-ine-source">
2037
+ <pre>
2038
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 523</span>
2039
+ 523: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLTableLine</span>(<span class="ruby-identifier">col1</span>, <span class="ruby-identifier">col2</span>, <span class="ruby-identifier">col3</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">col1rows</span> = <span class="ruby-keyword kw">nil</span>)
2040
+ 524: <span class="ruby-constant">TR</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>) <span class="ruby-keyword kw">do</span>
2041
+ 525: <span class="ruby-identifier">columns</span> = []
2042
+ 526: <span class="ruby-identifier">attrs</span> = { <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span> }
2043
+ 527: <span class="ruby-identifier">attrs</span>[<span class="ruby-value str">'rowspan'</span>] = <span class="ruby-identifier">col1rows</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col1rows</span>
2044
+ 528: <span class="ruby-identifier">columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">attrs</span>) { <span class="ruby-identifier">col1</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col1</span>
2045
+ 529: <span class="ruby-identifier">attrs</span> = { <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span> }
2046
+ 530: <span class="ruby-identifier">attrs</span>[<span class="ruby-value str">'colspan'</span>] = <span class="ruby-value str">'2'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">col3</span>
2047
+ 531: <span class="ruby-identifier">columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">attrs</span>) { <span class="ruby-identifier">col2</span> }
2048
+ 532: <span class="ruby-identifier">columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">TD</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) { <span class="ruby-identifier">col3</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col3</span>
2049
+ 533: <span class="ruby-identifier">columns</span>
2050
+ 534: <span class="ruby-keyword kw">end</span>
2051
+ 535: <span class="ruby-keyword kw">end</span></pre>
2052
+ </div>
2053
+
2054
+ </div>
2055
+
2056
+
2057
+
2058
+
2059
+ </div>
2060
+
2061
+
2062
+ <div id="indent-method" class="method-detail ">
2063
+ <a name="method-i-indent"></a>
2064
+
2065
+ <div class="method-heading">
2066
+
2067
+ <span class="method-name">indent</span><span
2068
+ class="method-args">(width, str)</span>
2069
+ <span class="method-click-advice">click to toggle source</span>
2070
+
2071
+ </div>
2072
+
2073
+ <div class="method-description">
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+ <div class="method-source-code"
2080
+ id="indent-source">
2081
+ <pre>
2082
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 353</span>
2083
+ 353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">str</span>)
2084
+ 354: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">80</span>, <span class="ruby-identifier">width</span>).<span class="ruby-identifier">indent</span>(<span class="ruby-identifier">str</span>)[<span class="ruby-identifier">width</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
2085
+ 355: <span class="ruby-keyword kw">end</span></pre>
2086
+ </div>
2087
+
2088
+ </div>
2089
+
2090
+
2091
+
2092
+
2093
+ </div>
2094
+
2095
+
2096
+ <div id="keyword-ef-method" class="method-detail ">
2097
+ <a name="method-i-keywordHTMLRef"></a>
2098
+
2099
+ <div class="method-heading">
2100
+
2101
+ <span class="method-name">keywordHTMLRef</span><span
2102
+ class="method-args">(parent, keyword)</span>
2103
+ <span class="method-click-advice">click to toggle source</span>
2104
+
2105
+ </div>
2106
+
2107
+ <div class="method-description">
2108
+
2109
+ <p>
2110
+ Return a HTML object with a link to the manual page for the keyword.
2111
+ </p>
2112
+
2113
+
2114
+
2115
+ <div class="method-source-code"
2116
+ id="keyword-ef-source">
2117
+ <pre>
2118
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 367</span>
2119
+ 367: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">keyword</span>)
2120
+ 368: <span class="ruby-identifier">parent</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">title</span>,
2121
+ 369: <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{keyword.keyword}.html&quot;</span>)
2122
+ 370: <span class="ruby-keyword kw">end</span></pre>
2123
+ </div>
2124
+
2125
+ </div>
2126
+
2127
+
2128
+
2129
+
2130
+ </div>
2131
+
2132
+
2133
+ <div id="list-ttributes-method" class="method-detail ">
2134
+ <a name="method-i-listHTMLAttributes"></a>
2135
+
2136
+ <div class="method-heading">
2137
+
2138
+ <span class="method-name">listHTMLAttributes</span><span
2139
+ class="method-args">(list, width)</span>
2140
+ <span class="method-click-advice">click to toggle source</span>
2141
+
2142
+ </div>
2143
+
2144
+ <div class="method-description">
2145
+
2146
+ <p>
2147
+ Utility function to turn a list of keywords into a comma separated list of
2148
+ HTML references to the files of these keywords. All embedded in a table
2149
+ cell element. <em>list</em> is the <a
2150
+ href="KeywordDocumentation.html">KeywordDocumentation</a> list.
2151
+ <em>width</em> is the percentage width of the cell.
2152
+ </p>
2153
+
2154
+
2155
+
2156
+ <div class="method-source-code"
2157
+ id="list-ttributes-source">
2158
+ <pre>
2159
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 389</span>
2160
+ 389: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">width</span>)
2161
+ 390: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>,
2162
+ 391: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{width}%&quot;</span>)
2163
+ 392: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
2164
+ 393: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
2165
+ 394: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
2166
+ 395: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
2167
+ 396: <span class="ruby-keyword kw">else</span>
2168
+ 397: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
2169
+ 398: <span class="ruby-keyword kw">end</span>
2170
+ 399: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
2171
+ 400: <span class="ruby-keyword kw">end</span>
2172
+ 401:
2173
+ 402: <span class="ruby-identifier">td</span>
2174
+ 403: <span class="ruby-keyword kw">end</span></pre>
2175
+ </div>
2176
+
2177
+ </div>
2178
+
2179
+
2180
+
2181
+
2182
+ </div>
2183
+
2184
+
2185
+ <div id="new-ich-ext-method" class="method-detail ">
2186
+ <a name="method-i-newRichText"></a>
2187
+
2188
+ <div class="method-heading">
2189
+
2190
+ <span class="method-name">newRichText</span><span
2191
+ class="method-args">(text)</span>
2192
+ <span class="method-click-advice">click to toggle source</span>
2193
+
2194
+ </div>
2195
+
2196
+ <div class="method-description">
2197
+
2198
+ <p>
2199
+ This function is primarily a wrapper around the <a
2200
+ href="RichText.html">RichText</a> constructor. It catches all <a
2201
+ href="RichTextScanner.html">RichTextScanner</a> processing problems and
2202
+ converts the exception data into an error message.
2203
+ </p>
2204
+
2205
+
2206
+
2207
+ <div class="method-source-code"
2208
+ id="new-ich-ext-source">
2209
+ <pre>
2210
+ <span class="ruby-comment cmt"># File lib/taskjuggler/KeywordDocumentation.rb, line 375</span>
2211
+ 375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>)
2212
+ 376: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>, [], <span class="ruby-ivar">@messageHandler</span>)
2213
+ 377: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>)
2214
+ 378: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'rich_text'</span>,
2215
+ 379: <span class="ruby-node">&quot;Error in RichText of rule #{@keyword}&quot;</span>)
2216
+ 380: <span class="ruby-keyword kw">end</span>
2217
+ 381: <span class="ruby-ivar">@references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">internalReferences</span>
2218
+ 382: <span class="ruby-identifier">rti</span>
2219
+ 383: <span class="ruby-keyword kw">end</span></pre>
2220
+ </div>
2221
+
2222
+ </div>
2223
+
2224
+
2225
+
2226
+
2227
+ </div>
2228
+
2229
+
2230
+ </div>
2231
+
2232
+
2233
+ </div>
2234
+
2235
+
2236
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
2237
+
2238
+ <p>Disabled; run with --debug to generate this.</p>
2239
+
2240
+ </div>
2241
+
2242
+ <div id="validator-badges">
2243
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
2244
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
2245
+ Rdoc Generator</a> 1.1.6</small>.</p>
2246
+ </div>
2247
+
2248
+ </body>
2249
+ </html>
2250
+