taskjuggler 0.0.6 → 0.0.7

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 (545) hide show
  1. data/CHANGELOG +160 -0
  2. data/benchmarks/UTF-8-Strings.rb +58 -0
  3. data/data/css/tjreport.css +7 -2
  4. data/doc/AppConfig.html +10 -4
  5. data/doc/Arguments.html +10 -4
  6. data/doc/CHANGELOG.html +171 -5
  7. data/doc/COPYING.html +10 -4
  8. data/doc/Object.html +11 -107
  9. data/doc/README.html +10 -4
  10. data/doc/RuntimeConfig.html +10 -4
  11. data/doc/String.html +16 -11
  12. data/doc/StringIO.html +10 -4
  13. data/doc/TaskJuggler.html +506 -435
  14. data/doc/TaskJuggler/Account.html +10 -4
  15. data/doc/TaskJuggler/AccountAttribute.html +10 -4
  16. data/doc/TaskJuggler/AccountScenario.html +10 -4
  17. data/doc/TaskJuggler/Allocation.html +69 -60
  18. data/doc/TaskJuggler/AllocationAttribute.html +10 -4
  19. data/doc/TaskJuggler/AttributeBase.html +10 -4
  20. data/doc/TaskJuggler/AttributeDefinition.html +10 -4
  21. data/doc/TaskJuggler/BatchProcessor.html +202 -192
  22. data/doc/TaskJuggler/Booking.html +10 -4
  23. data/doc/TaskJuggler/BookingListAttribute.html +10 -4
  24. data/doc/TaskJuggler/BooleanAttribute.html +10 -4
  25. data/doc/TaskJuggler/CSVFile.html +10 -4
  26. data/doc/TaskJuggler/CellSettingPattern.html +10 -4
  27. data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
  28. data/doc/TaskJuggler/Charge.html +10 -4
  29. data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
  30. data/doc/TaskJuggler/ChargeSet.html +10 -4
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
  32. data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
  33. data/doc/TaskJuggler/ColumnTable.html +10 -4
  34. data/doc/TaskJuggler/Daemon.html +71 -52
  35. data/doc/TaskJuggler/DateAttribute.html +10 -4
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
  37. data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
  38. data/doc/TaskJuggler/DurationAttribute.html +10 -4
  39. data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
  40. data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
  41. data/doc/TaskJuggler/FixnumAttribute.html +10 -4
  42. data/doc/TaskJuggler/FlagListAttribute.html +10 -4
  43. data/doc/TaskJuggler/FloatAttribute.html +10 -4
  44. data/doc/TaskJuggler/FormatListAttribute.html +10 -4
  45. data/doc/TaskJuggler/GanttChart.html +10 -4
  46. data/doc/TaskJuggler/GanttContainer.html +14 -8
  47. data/doc/TaskJuggler/GanttHeader.html +10 -4
  48. data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
  49. data/doc/TaskJuggler/GanttLine.html +29 -24
  50. data/doc/TaskJuggler/GanttLoadStack.html +10 -4
  51. data/doc/TaskJuggler/GanttMilestone.html +10 -4
  52. data/doc/TaskJuggler/GanttRouter.html +10 -4
  53. data/doc/TaskJuggler/GanttTaskBar.html +20 -10
  54. data/doc/TaskJuggler/HTMLDocument.html +10 -4
  55. data/doc/TaskJuggler/HTMLGraphics.html +10 -4
  56. data/doc/TaskJuggler/Interval.html +10 -4
  57. data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
  58. data/doc/TaskJuggler/JobInfo.html +10 -4
  59. data/doc/TaskJuggler/Journal.html +227 -160
  60. data/doc/TaskJuggler/JournalEntry.html +10 -4
  61. data/doc/TaskJuggler/JournalEntryList.html +158 -72
  62. data/doc/TaskJuggler/KeywordArray.html +21 -9
  63. data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
  64. data/doc/TaskJuggler/Limits.html +13 -8
  65. data/doc/TaskJuggler/Limits/Limit.html +10 -4
  66. data/doc/TaskJuggler/LimitsAttribute.html +10 -4
  67. data/doc/TaskJuggler/ListAttributeBase.html +10 -4
  68. data/doc/TaskJuggler/Log.html +10 -4
  69. data/doc/TaskJuggler/LogFile.html +10 -4
  70. data/doc/TaskJuggler/LogicalAttribute.html +10 -4
  71. data/doc/TaskJuggler/LogicalExpression.html +11 -5
  72. data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
  73. data/doc/TaskJuggler/LogicalFlag.html +10 -4
  74. data/doc/TaskJuggler/LogicalFunction.html +132 -124
  75. data/doc/TaskJuggler/LogicalOperation.html +10 -4
  76. data/doc/TaskJuggler/Macro.html +16 -10
  77. data/doc/TaskJuggler/MacroTable.html +44 -38
  78. data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
  79. data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
  80. data/doc/TaskJuggler/Message.html +92 -68
  81. data/doc/TaskJuggler/MessageHandler.html +349 -28
  82. data/doc/TaskJuggler/Navigator.html +10 -4
  83. data/doc/TaskJuggler/NavigatorElement.html +10 -4
  84. data/doc/TaskJuggler/NikuProject.html +10 -4
  85. data/doc/TaskJuggler/NikuReport.html +10 -4
  86. data/doc/TaskJuggler/NikuResource.html +10 -4
  87. data/doc/TaskJuggler/NodeListAttribute.html +10 -4
  88. data/doc/TaskJuggler/OnShiftCache.html +10 -4
  89. data/doc/TaskJuggler/ProcessIntercom.html +118 -111
  90. data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
  91. data/doc/TaskJuggler/Project.html +886 -913
  92. data/doc/TaskJuggler/ProjectBroker.html +442 -331
  93. data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
  94. data/doc/TaskJuggler/ProjectFileParser.html +320 -317
  95. data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
  96. data/doc/TaskJuggler/ProjectRecord.html +119 -56
  97. data/doc/TaskJuggler/ProjectServer.html +282 -237
  98. data/doc/TaskJuggler/ProjectServerIface.html +45 -39
  99. data/doc/TaskJuggler/PropertyAttribute.html +10 -4
  100. data/doc/TaskJuggler/PropertyList.html +177 -173
  101. data/doc/TaskJuggler/PropertySet.html +11 -5
  102. data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
  103. data/doc/TaskJuggler/Query.html +280 -256
  104. data/doc/TaskJuggler/RTFHandlers.html +10 -4
  105. data/doc/TaskJuggler/RTFNavigator.html +33 -26
  106. data/doc/TaskJuggler/RTFQuery.html +135 -169
  107. data/doc/TaskJuggler/RTFReport.html +63 -56
  108. data/doc/TaskJuggler/RTFReportLink.html +58 -47
  109. data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
  110. data/doc/TaskJuggler/RealFormat.html +10 -4
  111. data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
  112. data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
  113. data/doc/TaskJuggler/Report.html +333 -290
  114. data/doc/TaskJuggler/ReportBase.html +182 -174
  115. data/doc/TaskJuggler/ReportContext.html +10 -4
  116. data/doc/TaskJuggler/ReportServer.html +144 -126
  117. data/doc/TaskJuggler/ReportServerIface.html +50 -44
  118. data/doc/TaskJuggler/ReportServerRecord.html +38 -32
  119. data/doc/TaskJuggler/ReportServlet.html +144 -137
  120. data/doc/TaskJuggler/ReportTable.html +10 -4
  121. data/doc/TaskJuggler/ReportTableCell.html +169 -164
  122. data/doc/TaskJuggler/ReportTableColumn.html +10 -4
  123. data/doc/TaskJuggler/ReportTableLegend.html +10 -4
  124. data/doc/TaskJuggler/ReportTableLine.html +10 -4
  125. data/doc/TaskJuggler/Resource.html +121 -115
  126. data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
  127. data/doc/TaskJuggler/ResourceListRE.html +10 -4
  128. data/doc/TaskJuggler/ResourceScenario.html +13 -7
  129. data/doc/TaskJuggler/RichText.html +61 -37
  130. data/doc/TaskJuggler/RichTextAttribute.html +10 -4
  131. data/doc/TaskJuggler/RichTextDocument.html +91 -81
  132. data/doc/TaskJuggler/RichTextElement.html +378 -317
  133. data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
  134. data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
  135. data/doc/TaskJuggler/RichTextImage.html +10 -4
  136. data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
  137. data/doc/TaskJuggler/RichTextParser.html +48 -40
  138. data/doc/TaskJuggler/RichTextScanner.html +328 -906
  139. data/doc/TaskJuggler/RichTextSnip.html +59 -57
  140. data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
  141. data/doc/TaskJuggler/Scenario.html +10 -4
  142. data/doc/TaskJuggler/ScenarioData.html +33 -30
  143. data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
  144. data/doc/TaskJuggler/Scoreboard.html +10 -4
  145. data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
  146. data/doc/TaskJuggler/SheetReceiver.html +334 -313
  147. data/doc/TaskJuggler/SheetSender.html +10 -4
  148. data/doc/TaskJuggler/Shift.html +10 -4
  149. data/doc/TaskJuggler/ShiftAssignment.html +10 -4
  150. data/doc/TaskJuggler/ShiftAssignments.html +10 -4
  151. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
  152. data/doc/TaskJuggler/ShiftScenario.html +10 -4
  153. data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
  154. data/doc/TaskJuggler/SortListAttribute.html +10 -4
  155. data/doc/TaskJuggler/SourceFileInfo.html +10 -4
  156. data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
  157. data/doc/TaskJuggler/StatusSheetReport.html +10 -4
  158. data/doc/TaskJuggler/StatusSheetSender.html +10 -4
  159. data/doc/TaskJuggler/StringAttribute.html +10 -4
  160. data/doc/TaskJuggler/SymbolAttribute.html +10 -4
  161. data/doc/TaskJuggler/SyntaxReference.html +260 -230
  162. data/doc/TaskJuggler/TOCEntry.html +99 -42
  163. data/doc/TaskJuggler/TSResourceRecord.html +10 -4
  164. data/doc/TaskJuggler/TSTaskRecord.html +10 -4
  165. data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
  166. data/doc/TaskJuggler/TableOfContents.html +54 -12
  167. data/doc/TaskJuggler/TableReport.html +877 -872
  168. data/doc/TaskJuggler/Task.html +117 -68
  169. data/doc/TaskJuggler/TaskDependency.html +10 -4
  170. data/doc/TaskJuggler/TaskListAttribute.html +10 -4
  171. data/doc/TaskJuggler/TaskListRE.html +10 -4
  172. data/doc/TaskJuggler/TaskScenario.html +1681 -1563
  173. data/doc/TaskJuggler/TextFormatter.html +10 -4
  174. data/doc/TaskJuggler/TextParser.html +567 -534
  175. data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
  176. data/doc/TaskJuggler/TextParser/Rule.html +26 -15
  177. data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
  178. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
  179. data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
  180. data/doc/TaskJuggler/TextReport.html +15 -6
  181. data/doc/TaskJuggler/TextScanner.html +319 -287
  182. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
  183. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
  184. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
  185. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  186. data/doc/TaskJuggler/TimeSheet.html +138 -175
  187. data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
  188. data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
  189. data/doc/TaskJuggler/TimeSheetReport.html +47 -42
  190. data/doc/TaskJuggler/TimeSheetSender.html +10 -4
  191. data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
  192. data/doc/TaskJuggler/TimeSheets.html +22 -16
  193. data/doc/TaskJuggler/Tj3AppBase.html +10 -4
  194. data/doc/TaskJuggler/Tj3Client.html +399 -365
  195. data/doc/TaskJuggler/Tj3Daemon.html +107 -94
  196. data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
  197. data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
  198. data/doc/TaskJuggler/Tj3SsSender.html +10 -4
  199. data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
  200. data/doc/TaskJuggler/Tj3TsSender.html +10 -4
  201. data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
  202. data/doc/TaskJuggler/TjException.html +10 -4
  203. data/doc/TaskJuggler/TjTime.html +145 -140
  204. data/doc/TaskJuggler/TjpExample.html +10 -4
  205. data/doc/TaskJuggler/TjpExportRE.html +122 -118
  206. data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
  207. data/doc/TaskJuggler/URLParameter.html +10 -4
  208. data/doc/TaskJuggler/UserManual.html +162 -155
  209. data/doc/TaskJuggler/VimSyntax.html +1028 -0
  210. data/doc/TaskJuggler/WebServer.html +45 -27
  211. data/doc/TaskJuggler/WorkingHours.html +10 -4
  212. data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
  213. data/doc/TaskJuggler/XMLBlob.html +10 -4
  214. data/doc/TaskJuggler/XMLComment.html +10 -4
  215. data/doc/TaskJuggler/XMLDocument.html +10 -4
  216. data/doc/TaskJuggler/XMLElement.html +10 -4
  217. data/doc/TaskJuggler/XMLNamedText.html +10 -4
  218. data/doc/TaskJuggler/XMLText.html +10 -4
  219. data/doc/index.html +735 -677
  220. data/doc/lib/AccountScenario_rb.html +1 -1
  221. data/doc/lib/Account_rb.html +1 -1
  222. data/doc/lib/Allocation_rb.html +1 -1
  223. data/doc/lib/AppConfig_rb.html +1 -1
  224. data/doc/lib/AttributeBase_rb.html +1 -1
  225. data/doc/lib/AttributeDefinition_rb.html +1 -1
  226. data/doc/lib/Attributes_rb.html +1 -1
  227. data/doc/lib/BatchProcessor_rb.html +1 -1
  228. data/doc/lib/Booking_rb.html +1 -1
  229. data/doc/lib/ChargeSet_rb.html +1 -1
  230. data/doc/lib/Charge_rb.html +1 -1
  231. data/doc/lib/{Message_rb.html → FileList_rb.html} +3 -5
  232. data/doc/lib/HTMLDocument_rb.html +1 -1
  233. data/doc/lib/Interval_rb.html +1 -1
  234. data/doc/lib/Journal_rb.html +1 -1
  235. data/doc/lib/KeywordArray_rb.html +1 -1
  236. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  237. data/doc/lib/Limits_rb.html +1 -1
  238. data/doc/lib/LogFile_rb.html +1 -1
  239. data/doc/lib/Log_rb.html +1 -1
  240. data/doc/lib/LogicalExpression_rb.html +1 -1
  241. data/doc/lib/LogicalFunction_rb.html +1 -1
  242. data/doc/lib/LogicalOperation_rb.html +1 -1
  243. data/doc/lib/MacroTable_rb.html +1 -3
  244. data/doc/lib/MessageHandler_rb.html +1 -1
  245. data/doc/lib/ProjectFileParser_rb.html +1 -1
  246. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  247. data/doc/lib/Project_rb.html +4 -2
  248. data/doc/lib/PropertyList_rb.html +1 -1
  249. data/doc/lib/PropertySet_rb.html +1 -1
  250. data/doc/lib/PropertyTreeNode_rb.html +1 -1
  251. data/doc/lib/Query_rb.html +1 -1
  252. data/doc/lib/RTFHandlers_rb.html +1 -1
  253. data/doc/lib/RTFNavigator_rb.html +1 -1
  254. data/doc/lib/RTFQuery_rb.html +2 -2
  255. data/doc/lib/RTFReportLink_rb.html +4 -2
  256. data/doc/lib/RTFReport_rb.html +1 -1
  257. data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
  258. data/doc/lib/RealFormat_rb.html +1 -1
  259. data/doc/lib/ResourceScenario_rb.html +1 -1
  260. data/doc/lib/Resource_rb.html +1 -1
  261. data/doc/lib/RichTextDocument_rb.html +1 -1
  262. data/doc/lib/RichTextElement_rb.html +1 -1
  263. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  264. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  265. data/doc/lib/RichTextParser_rb.html +1 -1
  266. data/doc/lib/RichTextScanner_rb.html +3 -1
  267. data/doc/lib/RichTextSnip_rb.html +1 -1
  268. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  269. data/doc/lib/RichText_rb.html +3 -1
  270. data/doc/lib/RuntimeConfig_rb.html +1 -1
  271. data/doc/lib/ScenarioData_rb.html +2 -2
  272. data/doc/lib/Scenario_rb.html +1 -1
  273. data/doc/lib/Scoreboard_rb.html +1 -1
  274. data/doc/lib/SheetHandlerBase_rb.html +5 -1
  275. data/doc/lib/SheetReceiver_rb.html +3 -1
  276. data/doc/lib/SheetSender_rb.html +1 -1
  277. data/doc/lib/ShiftAssignments_rb.html +1 -1
  278. data/doc/lib/ShiftScenario_rb.html +1 -1
  279. data/doc/lib/Shift_rb.html +1 -1
  280. data/doc/lib/SimpleQueryExpander_rb.html +67 -0
  281. data/doc/lib/SourceFileInfo_rb.html +1 -1
  282. data/doc/lib/StatusSheetReceiver_rb.html +1 -1
  283. data/doc/lib/StatusSheetSender_rb.html +1 -1
  284. data/doc/lib/SyntaxReference_rb.html +1 -1
  285. data/doc/lib/TOCEntry_rb.html +1 -1
  286. data/doc/lib/TableColumnDefinition_rb.html +1 -1
  287. data/doc/lib/TableOfContents_rb.html +1 -1
  288. data/doc/lib/TaskDependency_rb.html +1 -1
  289. data/doc/lib/TaskJuggler_rb.html +1 -1
  290. data/doc/lib/TaskScenario_rb.html +1 -1
  291. data/doc/lib/Task_rb.html +1 -1
  292. data/doc/lib/TextFormatter_rb.html +1 -1
  293. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  294. data/doc/lib/TextParser/Rule_rb.html +1 -1
  295. data/doc/lib/TextParser/StackElement_rb.html +1 -1
  296. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  297. data/doc/lib/TextParser_rb.html +3 -1
  298. data/doc/lib/TextScanner_rb.html +1 -3
  299. data/doc/lib/TimeSheetReceiver_rb.html +1 -1
  300. data/doc/lib/TimeSheetSender_rb.html +1 -1
  301. data/doc/lib/TimeSheetSummary_rb.html +1 -1
  302. data/doc/lib/TimeSheets_rb.html +1 -1
  303. data/doc/lib/Tj3AppBase_rb.html +1 -1
  304. data/doc/lib/Tj3Config_rb.html +1 -1
  305. data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
  306. data/doc/lib/TjException_rb.html +1 -1
  307. data/doc/lib/TjTime_rb.html +1 -1
  308. data/doc/lib/TjpExample_rb.html +1 -1
  309. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  310. data/doc/lib/URLParameter_rb.html +1 -1
  311. data/doc/lib/UTF8String_rb.html +1 -1
  312. data/doc/lib/UserManual_rb.html +1 -1
  313. data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
  314. data/doc/lib/WorkingHours_rb.html +1 -1
  315. data/doc/lib/XMLDocument_rb.html +1 -1
  316. data/doc/lib/XMLElement_rb.html +1 -1
  317. data/doc/lib/daemon/Daemon_rb.html +1 -1
  318. data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
  319. data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
  320. data/doc/lib/daemon/ProjectServer_rb.html +1 -1
  321. data/doc/lib/daemon/ReportServer_rb.html +1 -3
  322. data/doc/lib/daemon/WebServer_rb.html +1 -1
  323. data/doc/lib/deep_copy_rb.html +1 -1
  324. data/doc/lib/reports/CSVFile_rb.html +1 -1
  325. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  326. data/doc/lib/reports/GanttChart_rb.html +1 -1
  327. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  328. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  329. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  330. data/doc/lib/reports/GanttLine_rb.html +1 -1
  331. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  332. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  333. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  334. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  335. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  336. data/doc/lib/reports/Navigator_rb.html +1 -1
  337. data/doc/lib/reports/NikuReport_rb.html +1 -1
  338. data/doc/lib/reports/ReportBase_rb.html +1 -1
  339. data/doc/lib/reports/ReportContext_rb.html +1 -1
  340. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  341. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  342. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  343. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  344. data/doc/lib/reports/ReportTable_rb.html +1 -1
  345. data/doc/lib/reports/Report_rb.html +1 -1
  346. data/doc/lib/reports/ResourceListRE_rb.html +1 -1
  347. data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
  348. data/doc/lib/reports/TableReport_rb.html +1 -1
  349. data/doc/lib/reports/TaskListRE_rb.html +1 -1
  350. data/doc/lib/reports/TextReport_rb.html +1 -1
  351. data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
  352. data/doc/lib/reports/TjpExportRE_rb.html +1 -1
  353. data/doc/lib/taskjuggler3_rb.html +1 -1
  354. data/doc/lib/tj3client_rb.html +1 -1
  355. data/doc/lib/tj3d_rb.html +1 -1
  356. data/doc/lib/tj3man_rb.html +1 -1
  357. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  358. data/doc/lib/tj3ss_sender_rb.html +1 -1
  359. data/doc/lib/tj3ts_receiver_rb.html +1 -1
  360. data/doc/lib/tj3ts_sender_rb.html +1 -1
  361. data/doc/lib/tj3ts_summary_rb.html +1 -1
  362. data/lib/Allocation.rb +8 -5
  363. data/lib/BatchProcessor.rb +7 -3
  364. data/lib/FileList.rb +58 -0
  365. data/lib/Journal.rb +73 -33
  366. data/lib/KeywordArray.rb +4 -0
  367. data/lib/KeywordDocumentation.rb +45 -11
  368. data/lib/Limits.rb +0 -1
  369. data/lib/LogicalExpression.rb +1 -1
  370. data/lib/LogicalFunction.rb +14 -12
  371. data/lib/MacroTable.rb +3 -4
  372. data/lib/MessageHandler.rb +136 -7
  373. data/lib/Project.rb +72 -86
  374. data/lib/ProjectFileParser.rb +30 -33
  375. data/lib/ProjectFileScanner.rb +7 -16
  376. data/lib/PropertyList.rb +25 -27
  377. data/lib/PropertySet.rb +1 -1
  378. data/lib/PropertyTreeNode.rb +9 -12
  379. data/lib/Query.rb +5 -4
  380. data/lib/RTFNavigator.rb +2 -1
  381. data/lib/RTFQuery.rb +4 -11
  382. data/lib/RTFReport.rb +2 -1
  383. data/lib/RTFReportLink.rb +10 -4
  384. data/lib/RTFWithQuerySupport.rb +45 -0
  385. data/lib/Resource.rb +20 -20
  386. data/lib/ResourceScenario.rb +3 -3
  387. data/lib/RichText.rb +15 -7
  388. data/lib/RichTextDocument.rb +8 -4
  389. data/lib/RichTextElement.rb +35 -12
  390. data/lib/RichTextFunctionHandler.rb +11 -12
  391. data/lib/RichTextParser.rb +5 -3
  392. data/lib/RichTextScanner.rb +144 -565
  393. data/lib/RichTextSnip.rb +3 -7
  394. data/lib/RichTextSyntaxRules.rb +51 -32
  395. data/lib/ScenarioData.rb +16 -25
  396. data/lib/SheetHandlerBase.rb +59 -2
  397. data/lib/SheetReceiver.rb +36 -18
  398. data/lib/SimpleQueryExpander.rb +58 -0
  399. data/lib/SyntaxReference.rb +9 -5
  400. data/lib/TOCEntry.rb +2 -0
  401. data/lib/TableOfContents.rb +4 -0
  402. data/lib/Task.rb +23 -12
  403. data/lib/TaskJuggler.rb +72 -33
  404. data/lib/TaskScenario.rb +131 -53
  405. data/lib/TextParser.rb +43 -30
  406. data/lib/TextParser/Pattern.rb +17 -13
  407. data/lib/TextParser/Rule.rb +5 -0
  408. data/lib/TextScanner.rb +46 -25
  409. data/lib/TimeSheetSummary.rb +9 -7
  410. data/lib/TimeSheets.rb +14 -23
  411. data/lib/Tj3Config.rb +1 -1
  412. data/lib/TjTime.rb +1 -2
  413. data/lib/TjpSyntaxRules.rb +128 -104
  414. data/lib/UTF8String.rb +0 -1
  415. data/lib/UserManual.rb +5 -4
  416. data/lib/VimSyntax.rb +223 -0
  417. data/lib/daemon/Daemon.rb +9 -0
  418. data/lib/daemon/ProcessIntercom.rb +19 -4
  419. data/lib/daemon/ProjectBroker.rb +149 -68
  420. data/lib/daemon/ProjectServer.rb +119 -79
  421. data/lib/daemon/ReportServer.rb +42 -31
  422. data/lib/daemon/WebServer.rb +21 -2
  423. data/lib/deep_copy.rb +1 -1
  424. data/lib/reports/GanttContainer.rb +2 -2
  425. data/lib/reports/GanttLine.rb +2 -3
  426. data/lib/reports/GanttTaskBar.rb +7 -3
  427. data/lib/reports/Report.rb +62 -57
  428. data/lib/reports/ReportBase.rb +6 -4
  429. data/lib/reports/ReportTableCell.rb +13 -14
  430. data/lib/reports/TableReport.rb +2 -1
  431. data/lib/reports/TextReport.rb +3 -0
  432. data/lib/reports/TimeSheetReport.rb +2 -3
  433. data/lib/reports/TjpExportRE.rb +0 -2
  434. data/lib/tj3client.rb +31 -3
  435. data/lib/tj3d.rb +8 -1
  436. data/manual/Day_To_Day_Juggling +2 -95
  437. data/manual/How_To_Contribute +2 -1
  438. data/manual/Rich_Text_Attributes +37 -3
  439. data/manual/Software +203 -0
  440. data/test/MessageChecker.rb +4 -4
  441. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  442. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  443. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  444. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  445. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  446. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  447. data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
  448. data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
  449. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  450. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  451. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
  452. data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
  453. data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
  454. data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
  455. data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
  456. data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
  457. data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
  458. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
  459. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
  460. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
  461. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
  462. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
  463. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
  464. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
  465. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
  466. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
  467. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
  468. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
  469. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
  470. data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
  471. data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
  472. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
  473. data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
  474. data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
  475. data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
  476. data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
  477. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
  478. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
  479. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
  480. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  481. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  482. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  483. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  484. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  485. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  486. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  487. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  488. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  489. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  490. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  491. data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
  492. data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
  493. data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
  494. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
  495. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
  496. data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
  497. data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
  498. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
  499. data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
  500. data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
  501. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
  502. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
  503. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
  504. data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
  505. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
  506. data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
  507. data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
  508. data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
  509. data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
  510. data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
  511. data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
  512. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  513. data/test/TestSuite/StatusSheets/resrep.tji +7 -0
  514. data/test/TestSuite/StatusSheets/run +6 -4
  515. data/test/TestSuite/StatusSheets/tj3d.log +312 -0
  516. data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
  517. data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
  518. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  519. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
  520. data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
  521. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  522. data/test/TestSuite/TimeSheets/run +6 -5
  523. data/test/TestSuite/TimeSheets/statussheets.log +1 -0
  524. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  525. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  526. data/test/test_PropertySet.rb +2 -2
  527. data/test/test_RichText.rb +178 -387
  528. data/test/test_SimpleQueryExpander.rb +55 -0
  529. data/test/test_deep_copy.rb +2 -2
  530. metadata +854 -834
  531. data/lib/MacroParser.rb +0 -77
  532. data/lib/Message.rb +0 -56
  533. data/lib/ruby-signal-bug.rb +0 -43
  534. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  535. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  536. data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
  537. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  538. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  539. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  540. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  541. data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
  542. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
  543. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  544. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  545. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
@@ -83,8 +83,12 @@
83
83
 
84
84
  <li><a href="#method-i-generateHTMLNavigationBar">#generateHTMLNavigationBar</a></li>
85
85
 
86
+ <li><a href="#method-i-globalScope%3F">#globalScope?</a></li>
87
+
86
88
  <li><a href="#method-i-indent">#indent</a></li>
87
89
 
90
+ <li><a href="#method-i-isProperty%3F">#isProperty?</a></li>
91
+
88
92
  <li><a href="#method-i-keywordHTMLRef">#keywordHTMLRef</a></li>
89
93
 
90
94
  <li><a href="#method-i-listHTMLAttributes">#listHTMLAttributes</a></li>
@@ -187,6 +191,10 @@
187
191
 
188
192
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
189
193
 
194
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
195
+
196
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
197
+
190
198
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
191
199
 
192
200
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -259,8 +267,6 @@
259
267
 
260
268
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
261
269
 
262
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
263
-
264
270
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
265
271
 
266
272
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -325,6 +331,8 @@
325
331
 
326
332
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
327
333
 
334
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
335
+
328
336
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
329
337
 
330
338
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -371,8 +379,6 @@
371
379
 
372
380
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
373
381
 
374
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
375
-
376
382
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
377
383
 
378
384
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -413,6 +419,8 @@
413
419
 
414
420
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
415
421
 
422
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
423
+
416
424
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
417
425
 
418
426
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -523,6 +531,8 @@
523
531
 
524
532
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
525
533
 
534
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
535
+
526
536
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
527
537
 
528
538
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -602,6 +612,21 @@ and whether the keyword is scenario specific or not.
602
612
 
603
613
 
604
614
 
615
+ </div>
616
+ </div>
617
+
618
+ <div id="names-attribute-method" class="method-detail">
619
+ <a name="names"></a>
620
+
621
+ <div class="method-heading attribute-method-heading">
622
+ <span class="method-name">names</span><span
623
+ class="attribute-access-type">[R]</span>
624
+ </div>
625
+
626
+ <div class="method-description">
627
+
628
+
629
+
605
630
  </div>
606
631
  </div>
607
632
 
@@ -632,6 +657,21 @@ and whether the keyword is scenario specific or not.
632
657
 
633
658
 
634
659
 
660
+ </div>
661
+ </div>
662
+
663
+ <div id="optional-ttributes-attribute-method" class="method-detail">
664
+ <a name="optionalAttributes"></a>
665
+
666
+ <div class="method-heading attribute-method-heading">
667
+ <span class="method-name">optionalAttributes</span><span
668
+ class="attribute-access-type">[R]</span>
669
+ </div>
670
+
671
+ <div class="method-description">
672
+
673
+
674
+
635
675
  </div>
636
676
  </div>
637
677
 
@@ -778,30 +818,36 @@ TextParser::Patterns that are optional attributes to this keyword.
778
818
  <pre>
779
819
  <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 43</span>
780
820
  43: <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>)
781
- 44: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span>
782
- 45: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
783
- 46: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>
784
- 47: <span class="ruby-ivar">@syntax</span> = <span class="ruby-identifier">syntax</span>
785
- 48: <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span>
786
- 49: <span class="ruby-comment cmt"># Hash that maps patterns of optional attributes to a boolean value. It</span>
787
- 50: <span class="ruby-comment cmt"># is true if the pattern is a scenario specific attribute.</span>
788
- 51: <span class="ruby-ivar">@optAttrPatterns</span> = <span class="ruby-identifier">optAttrPatterns</span>
789
- 52: <span class="ruby-ivar">@manual</span> = <span class="ruby-identifier">manual</span>
790
- 53: <span class="ruby-comment cmt"># The above hash is later converted into a list that points to the</span>
791
- 54: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span>
792
- 55: <span class="ruby-ivar">@optionalAttributes</span> = []
793
- 56: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
794
- 57: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span>
795
- 58: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span>
796
- 59: <span class="ruby-ivar">@contexts</span> = []
797
- 60: <span class="ruby-ivar">@seeAlso</span> = []
798
- 61: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span>
799
- 62: <span class="ruby-comment cmt"># alphabetically sorted list.</span>
800
- 63: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span>
801
- 64: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span>
802
- 65: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span>
803
- 66: <span class="ruby-ivar">@references</span> = []
804
- 67: <span class="ruby-keyword kw">end</span></pre>
821
+ 44: <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>)
822
+ 45: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span>
823
+ 46: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
824
+ 47: <span class="ruby-comment cmt"># The unique identifier. Usually the attribute or property name. To</span>
825
+ 48: <span class="ruby-comment cmt"># disambiguate a .&lt;scope&gt; can be added.</span>
826
+ 49: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>
827
+ 50: <span class="ruby-comment cmt"># Similar to @keyword, but without the scope. Since there could be</span>
828
+ 51: <span class="ruby-comment cmt"># several, this is an Array of String objects.</span>
829
+ 52: <span class="ruby-ivar">@names</span> = []
830
+ 53: <span class="ruby-ivar">@syntax</span> = <span class="ruby-identifier">syntax</span>
831
+ 54: <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span>
832
+ 55: <span class="ruby-ivar">@manual</span> = <span class="ruby-identifier">manual</span>
833
+ 56: <span class="ruby-comment cmt"># Hash that maps patterns of optional attributes to a boolean value. It</span>
834
+ 57: <span class="ruby-comment cmt"># is true if the pattern is a scenario specific attribute.</span>
835
+ 58: <span class="ruby-ivar">@optAttrPatterns</span> = <span class="ruby-identifier">optAttrPatterns</span>
836
+ 59: <span class="ruby-comment cmt"># The above hash is later converted into a list that points to the</span>
837
+ 60: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span>
838
+ 61: <span class="ruby-ivar">@optionalAttributes</span> = []
839
+ 62: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
840
+ 63: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span>
841
+ 64: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span>
842
+ 65: <span class="ruby-ivar">@contexts</span> = []
843
+ 66: <span class="ruby-ivar">@seeAlso</span> = []
844
+ 67: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span>
845
+ 68: <span class="ruby-comment cmt"># alphabetically sorted list.</span>
846
+ 69: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span>
847
+ 70: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span>
848
+ 71: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span>
849
+ 72: <span class="ruby-ivar">@references</span> = []
850
+ 73: <span class="ruby-keyword kw">end</span></pre>
805
851
  </div>
806
852
 
807
853
  </div>
@@ -838,37 +884,37 @@ TextParser::Patterns that are optional attributes to this keyword.
838
884
  <div class="method-source-code"
839
885
  id="compute-nheritance-source">
840
886
  <pre>
841
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 106</span>
842
- 106: <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>)
843
- 107: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>
844
- 108: <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>
845
- 109: <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>)
846
- 110: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>
847
- 111: <span class="ruby-keyword kw">break</span>
848
- 112: <span class="ruby-keyword kw">end</span>
849
- 113: <span class="ruby-keyword kw">end</span>
850
- 114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>
851
- 115: <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>)
852
- 116: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span>
853
- 117: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span>
854
- 118: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>
855
- 119: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span>
856
- 120: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>
857
- 121: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span>
858
- 122: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span>
859
- 123: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
860
- 124: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>
861
- 125: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span>
862
- 126: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span>
863
- 127: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span>
864
- 128: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>
865
- 129: <span class="ruby-keyword kw">end</span>
866
- 130: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span>
867
- 131: <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>)
868
- 132: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>)
869
- 133: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>)
870
- 134: <span class="ruby-keyword kw">end</span>
871
- 135: <span class="ruby-keyword kw">end</span></pre>
887
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 142</span>
888
+ 142: <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>)
889
+ 143: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>
890
+ 144: <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>
891
+ 145: <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>)
892
+ 146: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>
893
+ 147: <span class="ruby-keyword kw">break</span>
894
+ 148: <span class="ruby-keyword kw">end</span>
895
+ 149: <span class="ruby-keyword kw">end</span>
896
+ 150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>
897
+ 151: <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>)
898
+ 152: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span>
899
+ 153: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span>
900
+ 154: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>
901
+ 155: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span>
902
+ 156: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>
903
+ 157: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span>
904
+ 158: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span>
905
+ 159: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
906
+ 160: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>
907
+ 161: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span>
908
+ 162: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span>
909
+ 163: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span>
910
+ 164: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>
911
+ 165: <span class="ruby-keyword kw">end</span>
912
+ 166: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span>
913
+ 167: <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>)
914
+ 168: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>)
915
+ 169: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>)
916
+ 170: <span class="ruby-keyword kw">end</span>
917
+ 171: <span class="ruby-keyword kw">end</span></pre>
872
918
  </div>
873
919
 
874
920
  </div>
@@ -902,41 +948,50 @@ href="KeywordDocumentation.html">KeywordDocumentation</a> items.
902
948
  <div class="method-source-code"
903
949
  id="cross-eference-source">
904
950
  <pre>
905
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 71</span>
906
- 71: <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>)
907
- 72: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span>
908
- 73: <span class="ruby-comment cmt"># is added as context to such patterns.</span>
909
- 74: <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>
910
- 75: <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>)
911
- 76: <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>]
912
- 77: <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>)
913
- 78: <span class="ruby-keyword kw">end</span>
914
- 79: <span class="ruby-keyword kw">end</span>
915
- 80:
916
- 81: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span>
917
- 82: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span>
918
- 83: <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>
919
- 84: <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>)
920
- 85:
921
- 86: <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>
922
- 87: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
923
- 88: <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>
924
- 89: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span>
925
- 90: <span class="ruby-keyword kw">else</span>
926
- 91: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span>
927
- 92: <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>)
928
- 93: <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>
929
- 94: <span class="ruby-keyword kw">end</span>
930
- 95: <span class="ruby-keyword kw">end</span>
931
- 96:
932
- 97: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span>
933
- 98: <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>
934
- 99: <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>
935
- 100: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span>
936
- 101: <span class="ruby-keyword kw">end</span>
937
- 102: <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>]
938
- 103: <span class="ruby-keyword kw">end</span>
939
- 104: <span class="ruby-keyword kw">end</span></pre>
951
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 98</span>
952
+ 98: <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>)
953
+ 99: <span class="ruby-comment cmt"># Get the attribute or property name of the Keyword. This is not unique</span>
954
+ 100: <span class="ruby-comment cmt"># like @keyword since it's got no scope.</span>
955
+ 101: <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>
956
+ 102: <span class="ruby-comment cmt"># Ignore patterns that don't have a real name.</span>
957
+ 103: <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>
958
+ 104:
959
+ 105: <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>]
960
+ 106: <span class="ruby-keyword kw">end</span>
961
+ 107:
962
+ 108: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span>
963
+ 109: <span class="ruby-comment cmt"># is added as context to such patterns.</span>
964
+ 110: <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>
965
+ 111: <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>)
966
+ 112: <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>]
967
+ 113: <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>)
968
+ 114: <span class="ruby-keyword kw">end</span>
969
+ 115: <span class="ruby-keyword kw">end</span>
970
+ 116:
971
+ 117: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span>
972
+ 118: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span>
973
+ 119: <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>
974
+ 120: <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>)
975
+ 121:
976
+ 122: <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>
977
+ 123: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
978
+ 124: <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>
979
+ 125: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span>
980
+ 126: <span class="ruby-keyword kw">else</span>
981
+ 127: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span>
982
+ 128: <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>)
983
+ 129: <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>
984
+ 130: <span class="ruby-keyword kw">end</span>
985
+ 131: <span class="ruby-keyword kw">end</span>
986
+ 132:
987
+ 133: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span>
988
+ 134: <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>
989
+ 135: <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>
990
+ 136: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span>
991
+ 137: <span class="ruby-keyword kw">end</span>
992
+ 138: <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>]
993
+ 139: <span class="ruby-keyword kw">end</span>
994
+ 140: <span class="ruby-keyword kw">end</span></pre>
940
995
  </div>
941
996
 
942
997
  </div>
@@ -970,204 +1025,288 @@ documentation in an XML formatted form.
970
1025
  <div class="method-source-code"
971
1026
  id="generate--source">
972
1027
  <pre>
973
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 269</span>
974
- 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>)
975
- 270: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>)
976
- 271: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-identifier">keyword</span>,
977
- 272: { <span class="ruby-value str">'description'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'The TaskJuggler Manual'</span>,
978
- 273: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">&gt;</span>
979
- 274: <span class="ruby-value str">'taskjuggler, project, management'</span> })
980
- 275: <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>
981
- 276:
982
- 277: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>))
983
- 278: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator">&lt;&lt;</span>
984
- 279: <span class="ruby-identifier">generateHTMLNavigationBar</span>
985
- 280:
986
- 281: <span class="ruby-comment cmt"># Box with keyword name.</span>
987
- 282: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">bbox</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
988
- 283: <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>))
989
- 284: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
990
- 285: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
991
- 286: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
992
- 287:
993
- 288: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
994
- 289: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Keyword'</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">'tag'</span>,
995
- 290: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
996
- 291: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">title</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>,
997
- 292: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>)
998
- 293:
999
- 294: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span>
1000
- 295: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
1001
- 296: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1002
- 297: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
1003
- 298: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">colgroup</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'colgroup'</span>))
1004
- 299: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'15%'</span>)
1005
- 300: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'85%'</span>)
1006
- 301:
1007
- 302: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1008
- 303: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Purpose'</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">'tag'</span>)
1009
- 304: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1010
- 305: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</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>
1011
- 306: <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>
1012
- 307: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1013
- 308: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Syntax'</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">'tag'</span>)
1014
- 309: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1015
- 310: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@syntax}&quot;</span>, <span class="ruby-value str">'code'</span>)
1016
- 311:
1017
- 312: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1018
- 313: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Arguments'</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">'tag'</span>)
1019
- 314: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
1020
- 315: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'none'</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>)
1021
- 316: <span class="ruby-keyword kw">else</span>
1022
- 317: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1023
- 318: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>))
1024
- 319: <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>
1025
- 320: <span class="ruby-identifier">tab1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
1026
- 321: <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>
1027
- 322: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name}&quot;</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)
1028
- 323: <span class="ruby-keyword kw">else</span>
1029
- 324: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1030
- 325: <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>]
1031
- 326: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
1032
- 327: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
1033
- 328: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>))
1034
- 329: <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-node">&quot;#{arg.name} [&quot;</span>)
1035
- 330: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(
1036
- 331: <span class="ruby-identifier">typeName</span>, <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span>
1037
- 332: <span class="ruby-node">&quot;The_TaskJuggler_Syntax.html\##{typeName}&quot;</span>)
1038
- 333: <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>)
1039
- 334: <span class="ruby-keyword kw">end</span>
1040
- 335: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<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>,
1041
- 336: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>))
1042
- 337: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
1043
- 338: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span>
1044
- 339: <span class="ruby-keyword kw">end</span>
1045
- 340: <span class="ruby-keyword kw">end</span>
1046
- 341: <span class="ruby-keyword kw">end</span>
1047
- 342:
1048
- 343: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1049
- 344: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Context'</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">'tag'</span>)
1050
- 345: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1051
- 346: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1052
- 347: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Global scope'</span>, <span class="ruby-value str">'a'</span>,
1053
- 348: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>)
1054
- 349: <span class="ruby-keyword kw">else</span>
1055
- 350: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1056
- 351: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1057
- 352: <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>
1058
- 353: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1059
- 354: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1060
- 355: <span class="ruby-keyword kw">else</span>
1061
- 356: <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>)
1062
- 357: <span class="ruby-keyword kw">end</span>
1063
- 358: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>)
1064
- 359: <span class="ruby-keyword kw">end</span>
1065
- 360: <span class="ruby-keyword kw">end</span>
1066
- 361:
1067
- 362: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
1068
- 363: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1069
- 364: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'See also'</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">'tag'</span>)
1070
- 365: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1071
- 366: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1072
- 367: <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>
1073
- 368: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1074
- 369: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1075
- 370: <span class="ruby-keyword kw">else</span>
1076
- 371: <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>)
1077
- 372: <span class="ruby-keyword kw">end</span>
1078
- 373: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>)
1079
- 374: <span class="ruby-keyword kw">end</span>
1080
- 375: <span class="ruby-keyword kw">end</span>
1081
- 376:
1082
- 377: <span class="ruby-comment cmt"># Box with attributes.</span>
1083
- 378: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
1084
- 379: <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>
1085
- 380: <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>
1086
- 381: <span class="ruby-keyword kw">end</span>
1087
- 382:
1088
- 383: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span>
1089
- 384: <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>
1090
- 385: <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>
1091
- 386: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1092
- 387: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span>
1093
- 388: <span class="ruby-keyword kw">break</span>
1094
- 389: <span class="ruby-keyword kw">end</span>
1095
- 390: <span class="ruby-keyword kw">end</span>
1096
- 391:
1097
- 392: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
1098
- 393: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1099
- 394: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
1100
- 395: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1101
- 396: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span>
1102
- 397: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span>
1103
- 398: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global scope.</span>
1104
- 399: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</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">'tag'</span>,
1105
- 400: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">&gt;</span>
1106
- 401: <span class="ruby-node">&quot;#{@optionalAttributes.length + 1}&quot;</span>,
1107
- 402: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1108
- 403: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Name'</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">'tag'</span>,
1109
- 404: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:40%'</span>)
1110
- 405: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Scen. spec.'</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">'tag'</span>,
1111
- 406: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1112
- 407: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Global'</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">'tag'</span>,
1113
- 408: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1114
- 409: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Parent'</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">'tag'</span>,
1115
- 410: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1116
- 411: <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>
1117
- 412: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1118
- 413: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1119
- 414: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
1120
- 415: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1121
- 416: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
1122
- 417: <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">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
1123
- 418: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1124
- 419: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
1125
- 420: <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">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
1126
- 421: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1127
- 422: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
1128
- 423: <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">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1129
- 424: <span class="ruby-keyword kw">end</span>
1130
- 425: <span class="ruby-keyword kw">else</span>
1131
- 426: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span>
1132
- 427: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</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">'tag'</span>,
1133
- 428: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1134
- 429: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>,
1135
- 430: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%'</span>))
1136
- 431: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1137
- 432: <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>
1138
- 433: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1139
- 434: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1140
- 435: <span class="ruby-keyword kw">else</span>
1141
- 436: <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>)
1142
- 437: <span class="ruby-keyword kw">end</span>
1143
- 438: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
1144
- 439: <span class="ruby-keyword kw">end</span>
1145
- 440: <span class="ruby-keyword kw">end</span>
1146
- 441: <span class="ruby-keyword kw">end</span>
1147
- 442:
1148
- 443: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span>
1149
- 444: <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>
1150
- 445: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span>
1151
- 446: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span>
1152
- 447: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>)
1153
- 448: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>))
1154
- 449: <span class="ruby-identifier">frame</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>))
1155
- 450: <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>))
1156
- 451: <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>
1157
- 452: <span class="ruby-node">&quot;#{fileName}.&quot;</span>
1158
- 453: <span class="ruby-keyword kw">end</span>
1159
- 454: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
1160
- 455: <span class="ruby-keyword kw">end</span>
1161
- 456:
1162
- 457: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
1163
- 458: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span>
1164
- 459:
1165
- 460: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>
1166
- 461: <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>)
1167
- 462: <span class="ruby-keyword kw">else</span>
1168
- 463: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span>
1169
- 464: <span class="ruby-keyword kw">end</span>
1170
- 465: <span class="ruby-keyword kw">end</span></pre>
1028
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 305</span>
1029
+ 305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>)
1030
+ 306: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>)
1031
+ 307: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-identifier">keyword</span>,
1032
+ 308: { <span class="ruby-value str">'description'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'The TaskJuggler Manual'</span>,
1033
+ 309: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">&gt;</span>
1034
+ 310: <span class="ruby-value str">'taskjuggler, project, management'</span> })
1035
+ 311: <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>
1036
+ 312:
1037
+ 313: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>))
1038
+ 314: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator">&lt;&lt;</span>
1039
+ 315: <span class="ruby-identifier">generateHTMLNavigationBar</span>
1040
+ 316:
1041
+ 317: <span class="ruby-comment cmt"># Box with keyword name.</span>
1042
+ 318: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">bbox</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
1043
+ 319: <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>))
1044
+ 320: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
1045
+ 321: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1046
+ 322: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
1047
+ 323:
1048
+ 324: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1049
+ 325: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Keyword'</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">'tag'</span>,
1050
+ 326: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1051
+ 327: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">title</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>,
1052
+ 328: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>)
1053
+ 329:
1054
+ 330: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span>
1055
+ 331: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
1056
+ 332: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1057
+ 333: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
1058
+ 334: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">colgroup</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'colgroup'</span>))
1059
+ 335: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'15%'</span>)
1060
+ 336: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'85%'</span>)
1061
+ 337:
1062
+ 338: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1063
+ 339: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Purpose'</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">'tag'</span>)
1064
+ 340: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1065
+ 341: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</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>
1066
+ 342: <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>
1067
+ 343: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1068
+ 344: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Syntax'</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">'tag'</span>)
1069
+ 345: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1070
+ 346: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@syntax}&quot;</span>, <span class="ruby-value str">'code'</span>)
1071
+ 347:
1072
+ 348: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1073
+ 349: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Arguments'</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">'tag'</span>)
1074
+ 350: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
1075
+ 351: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'none'</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>)
1076
+ 352: <span class="ruby-keyword kw">else</span>
1077
+ 353: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1078
+ 354: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>))
1079
+ 355: <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>
1080
+ 356: <span class="ruby-identifier">tab1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
1081
+ 357: <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>
1082
+ 358: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name}&quot;</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)
1083
+ 359: <span class="ruby-keyword kw">else</span>
1084
+ 360: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1085
+ 361: <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>]
1086
+ 362: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
1087
+ 363: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
1088
+ 364: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>))
1089
+ 365: <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-node">&quot;#{arg.name} [&quot;</span>)
1090
+ 366: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(
1091
+ 367: <span class="ruby-identifier">typeName</span>, <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span>
1092
+ 368: <span class="ruby-node">&quot;The_TaskJuggler_Syntax.html\##{typeName}&quot;</span>)
1093
+ 369: <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>)
1094
+ 370: <span class="ruby-keyword kw">end</span>
1095
+ 371: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<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>,
1096
+ 372: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>))
1097
+ 373: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
1098
+ 374: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span>
1099
+ 375: <span class="ruby-keyword kw">end</span>
1100
+ 376: <span class="ruby-keyword kw">end</span>
1101
+ 377: <span class="ruby-keyword kw">end</span>
1102
+ 378:
1103
+ 379: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1104
+ 380: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Context'</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">'tag'</span>)
1105
+ 381: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1106
+ 382: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1107
+ 383: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Global scope'</span>, <span class="ruby-value str">'a'</span>,
1108
+ 384: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>)
1109
+ 385: <span class="ruby-keyword kw">else</span>
1110
+ 386: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1111
+ 387: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1112
+ 388: <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>
1113
+ 389: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1114
+ 390: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1115
+ 391: <span class="ruby-keyword kw">else</span>
1116
+ 392: <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>)
1117
+ 393: <span class="ruby-keyword kw">end</span>
1118
+ 394: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>)
1119
+ 395: <span class="ruby-keyword kw">end</span>
1120
+ 396: <span class="ruby-keyword kw">end</span>
1121
+ 397:
1122
+ 398: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
1123
+ 399: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1124
+ 400: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'See also'</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">'tag'</span>)
1125
+ 401: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1126
+ 402: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1127
+ 403: <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>
1128
+ 404: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1129
+ 405: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1130
+ 406: <span class="ruby-keyword kw">else</span>
1131
+ 407: <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>)
1132
+ 408: <span class="ruby-keyword kw">end</span>
1133
+ 409: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>)
1134
+ 410: <span class="ruby-keyword kw">end</span>
1135
+ 411: <span class="ruby-keyword kw">end</span>
1136
+ 412:
1137
+ 413: <span class="ruby-comment cmt"># Box with attributes.</span>
1138
+ 414: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
1139
+ 415: <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>
1140
+ 416: <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>
1141
+ 417: <span class="ruby-keyword kw">end</span>
1142
+ 418:
1143
+ 419: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span>
1144
+ 420: <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>
1145
+ 421: <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>
1146
+ 422: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1147
+ 423: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span>
1148
+ 424: <span class="ruby-keyword kw">break</span>
1149
+ 425: <span class="ruby-keyword kw">end</span>
1150
+ 426: <span class="ruby-keyword kw">end</span>
1151
+ 427:
1152
+ 428: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
1153
+ 429: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1154
+ 430: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
1155
+ 431: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1156
+ 432: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span>
1157
+ 433: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span>
1158
+ 434: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global scope.</span>
1159
+ 435: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</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">'tag'</span>,
1160
+ 436: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">&gt;</span>
1161
+ 437: <span class="ruby-node">&quot;#{@optionalAttributes.length + 1}&quot;</span>,
1162
+ 438: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1163
+ 439: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Name'</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">'tag'</span>,
1164
+ 440: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:40%'</span>)
1165
+ 441: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Scen. spec.'</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">'tag'</span>,
1166
+ 442: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1167
+ 443: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Global'</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">'tag'</span>,
1168
+ 444: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1169
+ 445: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Parent'</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">'tag'</span>,
1170
+ 446: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1171
+ 447: <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>
1172
+ 448: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
1173
+ 449: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>))
1174
+ 450: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
1175
+ 451: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1176
+ 452: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
1177
+ 453: <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">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
1178
+ 454: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1179
+ 455: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
1180
+ 456: <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">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
1181
+ 457: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
1182
+ 458: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
1183
+ 459: <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">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1184
+ 460: <span class="ruby-keyword kw">end</span>
1185
+ 461: <span class="ruby-keyword kw">else</span>
1186
+ 462: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span>
1187
+ 463: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</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">'tag'</span>,
1188
+ 464: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
1189
+ 465: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<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>,
1190
+ 466: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%'</span>))
1191
+ 467: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1192
+ 468: <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>
1193
+ 469: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1194
+ 470: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1195
+ 471: <span class="ruby-keyword kw">else</span>
1196
+ 472: <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>)
1197
+ 473: <span class="ruby-keyword kw">end</span>
1198
+ 474: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
1199
+ 475: <span class="ruby-keyword kw">end</span>
1200
+ 476: <span class="ruby-keyword kw">end</span>
1201
+ 477: <span class="ruby-keyword kw">end</span>
1202
+ 478:
1203
+ 479: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span>
1204
+ 480: <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>
1205
+ 481: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span>
1206
+ 482: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span>
1207
+ 483: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>)
1208
+ 484: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>))
1209
+ 485: <span class="ruby-identifier">frame</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>))
1210
+ 486: <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>))
1211
+ 487: <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>
1212
+ 488: <span class="ruby-node">&quot;#{fileName}.&quot;</span>
1213
+ 489: <span class="ruby-keyword kw">end</span>
1214
+ 490: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
1215
+ 491: <span class="ruby-keyword kw">end</span>
1216
+ 492:
1217
+ 493: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
1218
+ 494: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span>
1219
+ 495:
1220
+ 496: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>
1221
+ 497: <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>)
1222
+ 498: <span class="ruby-keyword kw">else</span>
1223
+ 499: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span>
1224
+ 500: <span class="ruby-keyword kw">end</span>
1225
+ 501: <span class="ruby-keyword kw">end</span></pre>
1226
+ </div>
1227
+
1228
+ </div>
1229
+
1230
+
1231
+
1232
+
1233
+ </div>
1234
+
1235
+
1236
+ <div id="global-cope--method" class="method-detail ">
1237
+ <a name="method-i-globalScope%3F"></a>
1238
+
1239
+ <div class="method-heading">
1240
+
1241
+ <span class="method-name">globalScope?</span><span
1242
+ class="method-args">()</span>
1243
+ <span class="method-click-advice">click to toggle source</span>
1244
+
1245
+ </div>
1246
+
1247
+ <div class="method-description">
1248
+
1249
+ <p>
1250
+ Returns true of the keyword can be used outside of any other keyword
1251
+ context.
1252
+ </p>
1253
+
1254
+
1255
+
1256
+ <div class="method-source-code"
1257
+ id="global-cope--source">
1258
+ <pre>
1259
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 88</span>
1260
+ 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">globalScope?</span>
1261
+ 89: <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>
1262
+ 90: <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>
1263
+ 91: <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>
1264
+ 92: <span class="ruby-keyword kw">end</span>
1265
+ 93: <span class="ruby-keyword kw">false</span>
1266
+ 94: <span class="ruby-keyword kw">end</span></pre>
1267
+ </div>
1268
+
1269
+ </div>
1270
+
1271
+
1272
+
1273
+
1274
+ </div>
1275
+
1276
+
1277
+ <div id="is-roperty--method" class="method-detail ">
1278
+ <a name="method-i-isProperty%3F"></a>
1279
+
1280
+ <div class="method-heading">
1281
+
1282
+ <span class="method-name">isProperty?</span><span
1283
+ class="method-args">()</span>
1284
+ <span class="method-click-advice">click to toggle source</span>
1285
+
1286
+ </div>
1287
+
1288
+ <div class="method-description">
1289
+
1290
+ <p>
1291
+ Returns true of the <a
1292
+ href="KeywordDocumentation.html">KeywordDocumentation</a> is documenting a
1293
+ TJP property (task, resources, etc.). A TJP property can be nested.
1294
+ </p>
1295
+
1296
+
1297
+
1298
+ <div class="method-source-code"
1299
+ id="is-roperty--source">
1300
+ <pre>
1301
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 77</span>
1302
+ 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isProperty?</span>
1303
+ 78: <span class="ruby-comment cmt"># I haven't found a good way to automatically detect all the various</span>
1304
+ 79: <span class="ruby-comment cmt"># report types as properties. The non-nestable ones need to be added</span>
1305
+ 80: <span class="ruby-comment cmt"># manually here.</span>
1306
+ 81: <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>.
1307
+ 82: <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">keyword</span>)
1308
+ 83: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
1309
+ 84: <span class="ruby-keyword kw">end</span></pre>
1171
1310
  </div>
1172
1311
 
1173
1312
  </div>
@@ -1202,16 +1341,16 @@ is returned as &#8216;foo (bar)&#8217;. &#8216;foo&#8217; will remain
1202
1341
  <div class="method-source-code"
1203
1342
  id="title-source">
1204
1343
  <pre>
1205
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 139</span>
1206
- 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span>
1207
- 140: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
1208
- 141: <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>
1209
- 142: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span>
1210
- 143: <span class="ruby-keyword kw">else</span>
1211
- 144: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span>
1212
- 145: <span class="ruby-keyword kw">end</span>
1213
- 146: <span class="ruby-identifier">title</span>
1214
- 147: <span class="ruby-keyword kw">end</span></pre>
1344
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 175</span>
1345
+ 175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span>
1346
+ 176: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
1347
+ 177: <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>
1348
+ 178: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span>
1349
+ 179: <span class="ruby-keyword kw">else</span>
1350
+ 180: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span>
1351
+ 181: <span class="ruby-keyword kw">end</span>
1352
+ 182: <span class="ruby-identifier">title</span>
1353
+ 183: <span class="ruby-keyword kw">end</span></pre>
1215
1354
  </div>
1216
1355
 
1217
1356
  </div>
@@ -1244,122 +1383,122 @@ Return the complete documentation of this keyword as formatted text string.
1244
1383
  <div class="method-source-code"
1245
1384
  id="to-s-source">
1246
1385
  <pre>
1247
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 151</span>
1248
- 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1249
- 152: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span>
1250
- 153: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span>
1251
- 154:
1252
- 155: <span class="ruby-comment cmt"># Top line with multiple elements</span>
1253
- 156: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span>
1254
- 157: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span>
1255
- 158: <span class="ruby-node">&quot;Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n&quot;</span>
1256
- 159:
1257
- 160: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
1258
- 161: textW)}\n\n&quot;</span>
1259
- 162:
1260
- 163: <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>
1261
- 164: <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>
1262
- 165:
1263
- 166: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span>
1264
- 167: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
1265
- 168: <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>)
1266
- 169: <span class="ruby-keyword kw">else</span>
1267
- 170: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span>
1268
- 171: <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>
1269
- 172: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;See #{arg.name} for details.&quot;</span>
1270
- 173: <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>
1271
- 174: <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>
1272
- 175: <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>
1273
- 176: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span>
1274
- 177: <span class="ruby-keyword kw">else</span>
1275
- 178: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1276
- 179: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
1277
- 180: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
1278
- 181: <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>
1279
- 182: <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>
1280
- 183: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span>
1281
- 184: <span class="ruby-keyword kw">end</span>
1282
- 185: <span class="ruby-keyword kw">end</span>
1283
- 186: <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>)
1284
- 187: <span class="ruby-keyword kw">end</span>
1285
- 188: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1286
- 189: <span class="ruby-keyword kw">end</span>
1386
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 187</span>
1387
+ 187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1388
+ 188: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span>
1389
+ 189: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span>
1287
1390
  190:
1288
- 191: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span>
1289
- 192: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1290
- 193: <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>)
1291
- 194: <span class="ruby-keyword kw">else</span>
1292
- 195: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span>
1293
- 196: <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>
1294
- 197: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span>
1295
- 198: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1296
- 199: <span class="ruby-keyword kw">end</span>
1297
- 200: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span>
1298
- 201: <span class="ruby-keyword kw">end</span>
1299
- 202: <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>)
1300
- 203: <span class="ruby-keyword kw">end</span>
1301
- 204:
1302
- 205: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span>
1303
- 206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
1304
- 207: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span>
1305
- 208: <span class="ruby-keyword kw">else</span>
1306
- 209: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span>
1307
- 210: <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>
1308
- 211: <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>
1309
- 212: <span class="ruby-keyword kw">end</span>
1310
- 213: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span>
1311
- 214: <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>
1312
- 215: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span>
1313
- 216: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1314
- 217: <span class="ruby-keyword kw">end</span>
1315
- 218: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span>
1316
- 219: <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>
1317
- 220: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1318
- 221: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1319
- 222: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span>
1320
- 223: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span>
1321
- 224: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
1322
- 225: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span>
1323
- 226: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1324
- 227: <span class="ruby-keyword kw">end</span>
1325
- 228: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
1326
- 229: <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>
1327
- 230: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span>
1328
- 231: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1329
- 232: <span class="ruby-keyword kw">end</span>
1330
- 233: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1331
- 234: <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>
1332
- 235: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span>
1333
- 236: <span class="ruby-keyword kw">end</span>
1334
- 237: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
1335
- 238: <span class="ruby-keyword kw">end</span>
1336
- 239: <span class="ruby-keyword kw">end</span>
1337
- 240: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span>
1338
- 241: <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>
1339
- 242: <span class="ruby-value str">&quot;\n[ig] : Attribute is inherited from global attribute&quot;</span> <span class="ruby-operator">+</span>
1340
- 243: <span class="ruby-value str">&quot;\n[ip] : Attribute is inherited from parent property&quot;</span>
1341
- 244: <span class="ruby-keyword kw">end</span>
1342
- 245: <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>)
1343
- 246: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1344
- 247: <span class="ruby-keyword kw">end</span>
1345
- 248:
1346
- 249: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
1347
- 250: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span>
1348
- 251: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span>
1349
- 252: <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>
1350
- 253: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span>
1351
- 254: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1352
- 255: <span class="ruby-keyword kw">end</span>
1353
- 256: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span>
1354
- 257: <span class="ruby-keyword kw">end</span>
1355
- 258: <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>)
1356
- 259: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1357
- 260: <span class="ruby-keyword kw">end</span>
1358
- 261:
1359
- 262: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span>
1360
- 263: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span>
1361
- 264: <span class="ruby-identifier">str</span>
1362
- 265: <span class="ruby-keyword kw">end</span></pre>
1391
+ 191: <span class="ruby-comment cmt"># Top line with multiple elements</span>
1392
+ 192: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span>
1393
+ 193: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span>
1394
+ 194: <span class="ruby-node">&quot;Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n&quot;</span>
1395
+ 195:
1396
+ 196: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
1397
+ 197: textW)}\n\n&quot;</span>
1398
+ 198:
1399
+ 199: <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>
1400
+ 200: <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>
1401
+ 201:
1402
+ 202: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span>
1403
+ 203: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
1404
+ 204: <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>)
1405
+ 205: <span class="ruby-keyword kw">else</span>
1406
+ 206: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span>
1407
+ 207: <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>
1408
+ 208: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;See #{arg.name} for details.&quot;</span>
1409
+ 209: <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>
1410
+ 210: <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>
1411
+ 211: <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>
1412
+ 212: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span>
1413
+ 213: <span class="ruby-keyword kw">else</span>
1414
+ 214: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
1415
+ 215: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
1416
+ 216: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
1417
+ 217: <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>
1418
+ 218: <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>
1419
+ 219: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span>
1420
+ 220: <span class="ruby-keyword kw">end</span>
1421
+ 221: <span class="ruby-keyword kw">end</span>
1422
+ 222: <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>)
1423
+ 223: <span class="ruby-keyword kw">end</span>
1424
+ 224: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1425
+ 225: <span class="ruby-keyword kw">end</span>
1426
+ 226:
1427
+ 227: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span>
1428
+ 228: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
1429
+ 229: <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>)
1430
+ 230: <span class="ruby-keyword kw">else</span>
1431
+ 231: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span>
1432
+ 232: <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>
1433
+ 233: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span>
1434
+ 234: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1435
+ 235: <span class="ruby-keyword kw">end</span>
1436
+ 236: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span>
1437
+ 237: <span class="ruby-keyword kw">end</span>
1438
+ 238: <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>)
1439
+ 239: <span class="ruby-keyword kw">end</span>
1440
+ 240:
1441
+ 241: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span>
1442
+ 242: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
1443
+ 243: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span>
1444
+ 244: <span class="ruby-keyword kw">else</span>
1445
+ 245: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span>
1446
+ 246: <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>
1447
+ 247: <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>
1448
+ 248: <span class="ruby-keyword kw">end</span>
1449
+ 249: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span>
1450
+ 250: <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>
1451
+ 251: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span>
1452
+ 252: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1453
+ 253: <span class="ruby-keyword kw">end</span>
1454
+ 254: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span>
1455
+ 255: <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>
1456
+ 256: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1457
+ 257: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1458
+ 258: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span>
1459
+ 259: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span>
1460
+ 260: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
1461
+ 261: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span>
1462
+ 262: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1463
+ 263: <span class="ruby-keyword kw">end</span>
1464
+ 264: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
1465
+ 265: <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>
1466
+ 266: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span>
1467
+ 267: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1468
+ 268: <span class="ruby-keyword kw">end</span>
1469
+ 269: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
1470
+ 270: <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>
1471
+ 271: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span>
1472
+ 272: <span class="ruby-keyword kw">end</span>
1473
+ 273: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
1474
+ 274: <span class="ruby-keyword kw">end</span>
1475
+ 275: <span class="ruby-keyword kw">end</span>
1476
+ 276: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span>
1477
+ 277: <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>
1478
+ 278: <span class="ruby-value str">&quot;\n[ig] : Attribute is inherited from global attribute&quot;</span> <span class="ruby-operator">+</span>
1479
+ 279: <span class="ruby-value str">&quot;\n[ip] : Attribute is inherited from parent property&quot;</span>
1480
+ 280: <span class="ruby-keyword kw">end</span>
1481
+ 281: <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>)
1482
+ 282: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1483
+ 283: <span class="ruby-keyword kw">end</span>
1484
+ 284:
1485
+ 285: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
1486
+ 286: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span>
1487
+ 287: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span>
1488
+ 288: <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>
1489
+ 289: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span>
1490
+ 290: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
1491
+ 291: <span class="ruby-keyword kw">end</span>
1492
+ 292: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span>
1493
+ 293: <span class="ruby-keyword kw">end</span>
1494
+ 294: <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>)
1495
+ 295: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
1496
+ 296: <span class="ruby-keyword kw">end</span>
1497
+ 297:
1498
+ 298: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span>
1499
+ 299: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span>
1500
+ 300: <span class="ruby-identifier">str</span>
1501
+ 301: <span class="ruby-keyword kw">end</span></pre>
1363
1502
  </div>
1364
1503
 
1365
1504
  </div>
@@ -1396,15 +1535,15 @@ Return the complete documentation of this keyword as formatted text string.
1396
1535
  <div class="method-source-code"
1397
1536
  id="check-eference-source">
1398
1537
  <pre>
1399
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 469</span>
1400
- 469: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
1401
- 470: <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>
1402
- 471: <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>
1403
- 472: <span class="ruby-node">&quot;#{@keyword}.&quot;</span>
1404
- 473: <span class="ruby-keyword kw">false</span>
1405
- 474: <span class="ruby-keyword kw">end</span>
1406
- 475: <span class="ruby-keyword kw">true</span>
1407
- 476: <span class="ruby-keyword kw">end</span></pre>
1538
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 505</span>
1539
+ 505: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
1540
+ 506: <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>
1541
+ 507: <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>
1542
+ 508: <span class="ruby-node">&quot;#{@keyword}.&quot;</span>
1543
+ 509: <span class="ruby-keyword kw">false</span>
1544
+ 510: <span class="ruby-keyword kw">end</span>
1545
+ 511: <span class="ruby-keyword kw">true</span>
1546
+ 512: <span class="ruby-keyword kw">end</span></pre>
1408
1547
  </div>
1409
1548
 
1410
1549
  </div>
@@ -1435,10 +1574,10 @@ Return the complete documentation of this keyword as formatted text string.
1435
1574
  <div class="method-source-code"
1436
1575
  id="format-source">
1437
1576
  <pre>
1438
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 532</span>
1439
- 532: <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>)
1440
- 533: <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>]
1441
- 534: <span class="ruby-keyword kw">end</span></pre>
1577
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 566</span>
1578
+ 566: <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>)
1579
+ 567: <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>]
1580
+ 568: <span class="ruby-keyword kw">end</span></pre>
1442
1581
  </div>
1443
1582
 
1444
1583
  </div>
@@ -1471,14 +1610,14 @@ Generate the navigation bar.
1471
1610
  <div class="method-source-code"
1472
1611
  id="generate-avigation-ar-source">
1473
1612
  <pre>
1474
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 483</span>
1475
- 483: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
1476
- 484: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLNavigationBar</span>(
1477
- 485: <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>,
1478
- 486: <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>,
1479
- 487: <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>,
1480
- 488: <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>)
1481
- 489: <span class="ruby-keyword kw">end</span></pre>
1613
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 519</span>
1614
+ 519: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
1615
+ 520: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLNavigationBar</span>(
1616
+ 521: <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>,
1617
+ 522: <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>,
1618
+ 523: <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>,
1619
+ 524: <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>)
1620
+ 525: <span class="ruby-keyword kw">end</span></pre>
1482
1621
  </div>
1483
1622
 
1484
1623
  </div>
@@ -1509,10 +1648,10 @@ Generate the navigation bar.
1509
1648
  <div class="method-source-code"
1510
1649
  id="indent-source">
1511
1650
  <pre>
1512
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 478</span>
1513
- 478: <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>)
1514
- 479: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</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>]
1515
- 480: <span class="ruby-keyword kw">end</span></pre>
1651
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 514</span>
1652
+ 514: <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>)
1653
+ 515: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</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>]
1654
+ 516: <span class="ruby-keyword kw">end</span></pre>
1516
1655
  </div>
1517
1656
 
1518
1657
  </div>
@@ -1545,11 +1684,11 @@ Return a HTML object with a link to the manual page for the keyword.
1545
1684
  <div class="method-source-code"
1546
1685
  id="keyword-ef-source">
1547
1686
  <pre>
1548
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 492</span>
1549
- 492: <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>)
1550
- 493: <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>,
1551
- 494: <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>)
1552
- 495: <span class="ruby-keyword kw">end</span></pre>
1687
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 528</span>
1688
+ 528: <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>)
1689
+ 529: <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>,
1690
+ 530: <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>)
1691
+ 531: <span class="ruby-keyword kw">end</span></pre>
1553
1692
  </div>
1554
1693
 
1555
1694
  </div>
@@ -1586,21 +1725,22 @@ href="KeywordDocumentation.html">KeywordDocumentation</a> list.
1586
1725
  <div class="method-source-code"
1587
1726
  id="list-ttributes-source">
1588
1727
  <pre>
1589
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 517</span>
1590
- 517: <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>)
1591
- 518: <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>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{width}%&quot;</span>)
1592
- 519: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1593
- 520: <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>
1594
- 521: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1595
- 522: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1596
- 523: <span class="ruby-keyword kw">else</span>
1597
- 524: <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>)
1598
- 525: <span class="ruby-keyword kw">end</span>
1599
- 526: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
1600
- 527: <span class="ruby-keyword kw">end</span>
1601
- 528:
1602
- 529: <span class="ruby-identifier">td</span>
1603
- 530: <span class="ruby-keyword kw">end</span></pre>
1728
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 550</span>
1729
+ 550: <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>)
1730
+ 551: <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>,
1731
+ 552: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{width}%&quot;</span>)
1732
+ 553: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1733
+ 554: <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>
1734
+ 555: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1735
+ 556: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1736
+ 557: <span class="ruby-keyword kw">else</span>
1737
+ 558: <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>)
1738
+ 559: <span class="ruby-keyword kw">end</span>
1739
+ 560: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
1740
+ 561: <span class="ruby-keyword kw">end</span>
1741
+ 562:
1742
+ 563: <span class="ruby-identifier">td</span>
1743
+ 564: <span class="ruby-keyword kw">end</span></pre>
1604
1744
  </div>
1605
1745
 
1606
1746
  </div>
@@ -1636,19 +1776,16 @@ converts the exception data into an error message.
1636
1776
  <div class="method-source-code"
1637
1777
  id="new-ich-ext-source">
1638
1778
  <pre>
1639
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 500</span>
1640
- 500: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>)
1641
- 501: <span class="ruby-keyword kw">begin</span>
1642
- 502: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
1643
- 503: <span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>
1644
- 504: <span class="ruby-ivar">@references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">internalReferences</span>
1645
- 505: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
1646
- 506: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Error in RichText of rule #{@keyword}\n&quot;</span> <span class="ruby-operator">+</span>
1647
- 507: <span class="ruby-node">&quot;Line #{msg.lineNo}: #{msg.text}\n&quot;</span> <span class="ruby-operator">+</span>
1648
- 508: <span class="ruby-node">&quot;#{msg.line}&quot;</span>
1649
- 509: <span class="ruby-keyword kw">end</span>
1650
- 510: <span class="ruby-identifier">rti</span>
1651
- 511: <span class="ruby-keyword kw">end</span></pre>
1779
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 536</span>
1780
+ 536: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>)
1781
+ 537: <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>)
1782
+ 538: <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>)
1783
+ 539: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'rich_text'</span>,
1784
+ 540: <span class="ruby-node">&quot;Error in RichText of rule #{@keyword}&quot;</span>)
1785
+ 541: <span class="ruby-keyword kw">end</span>
1786
+ 542: <span class="ruby-ivar">@references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">internalReferences</span>
1787
+ 543: <span class="ruby-identifier">rti</span>
1788
+ 544: <span class="ruby-keyword kw">end</span></pre>
1652
1789
  </div>
1653
1790
 
1654
1791
  </div>