taskjuggler 0.0.3 → 0.0.4

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 (495) hide show
  1. data/benchmarks/UTF-8-Strings.rb +58 -0
  2. data/data/css/tjmanual.css +52 -0
  3. data/data/css/tjreport.css +195 -0
  4. data/data/icons/details.png +0 -0
  5. data/data/icons/flag-green.png +0 -0
  6. data/data/icons/flag-red.png +0 -0
  7. data/data/icons/flag-yellow.png +0 -0
  8. data/data/icons/resource.png +0 -0
  9. data/data/icons/resourcegroup.png +0 -0
  10. data/data/icons/task.png +0 -0
  11. data/data/icons/taskgroup.png +0 -0
  12. data/data/icons/trend-down.png +0 -0
  13. data/data/icons/trend-flat.png +0 -0
  14. data/data/icons/trend-up.png +0 -0
  15. data/data/scripts/wz_tooltip.js +1301 -0
  16. data/doc/classes/AppConfig.html +298 -230
  17. data/doc/classes/Arguments.html +8 -8
  18. data/doc/classes/Object.html +7 -7
  19. data/doc/classes/String.html +89 -89
  20. data/doc/classes/TaskJuggler.html +396 -264
  21. data/doc/classes/TaskJuggler/Account.html +18 -18
  22. data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
  23. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  24. data/doc/classes/TaskJuggler/Allocation.html +30 -30
  25. data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
  26. data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
  27. data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
  28. data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
  29. data/doc/classes/TaskJuggler/Booking.html +18 -18
  30. data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
  31. data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
  32. data/doc/classes/TaskJuggler/CSVFile.html +24 -24
  33. data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
  34. data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
  35. data/doc/classes/TaskJuggler/Charge.html +18 -18
  36. data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
  37. data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
  38. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
  39. data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
  40. data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
  41. data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
  42. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
  43. data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
  44. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  45. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  46. data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
  47. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  48. data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
  49. data/doc/classes/TaskJuggler/GanttChart.html +48 -48
  50. data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
  51. data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
  52. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
  53. data/doc/classes/TaskJuggler/GanttLine.html +24 -24
  54. data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
  55. data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
  56. data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
  57. data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
  58. data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
  59. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  60. data/doc/classes/TaskJuggler/Interval.html +57 -57
  61. data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
  62. data/doc/classes/TaskJuggler/JobInfo.html +68 -12
  63. data/doc/classes/TaskJuggler/Journal.html +266 -20
  64. data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
  65. data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
  66. data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
  67. data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
  68. data/doc/classes/TaskJuggler/Limits.html +36 -36
  69. data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
  70. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  71. data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
  72. data/doc/classes/TaskJuggler/Log.html +145 -107
  73. data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
  74. data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
  75. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
  76. data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
  77. data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
  78. data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
  79. data/doc/classes/TaskJuggler/Macro.html +6 -6
  80. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  81. data/doc/classes/TaskJuggler/MacroTable.html +37 -37
  82. data/doc/classes/TaskJuggler/Message.html +12 -12
  83. data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
  84. data/doc/classes/TaskJuggler/Navigator.html +110 -46
  85. data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
  86. data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
  87. data/doc/classes/TaskJuggler/Project.html +1158 -893
  88. data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
  89. data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
  90. data/doc/classes/TaskJuggler/PropertyList.html +225 -155
  91. data/doc/classes/TaskJuggler/PropertySet.html +375 -332
  92. data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
  93. data/doc/classes/TaskJuggler/Query.html +404 -139
  94. data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
  95. data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
  96. data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
  97. data/doc/classes/TaskJuggler/RealFormat.html +18 -18
  98. data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
  99. data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
  100. data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
  101. data/doc/classes/TaskJuggler/Report.html +66 -64
  102. data/doc/classes/TaskJuggler/ReportBase.html +112 -123
  103. data/doc/classes/TaskJuggler/ReportContext.html +43 -38
  104. data/doc/classes/TaskJuggler/ReportServer.html +320 -0
  105. data/doc/classes/TaskJuggler/ReportTable.html +42 -42
  106. data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
  107. data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
  108. data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
  109. data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
  110. data/doc/classes/TaskJuggler/Resource.html +12 -12
  111. data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
  112. data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
  113. data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
  114. data/doc/classes/TaskJuggler/RichText.html +64 -248
  115. data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
  116. data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
  117. data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
  118. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  119. data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
  120. data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
  121. data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
  122. data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
  123. data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
  124. data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
  125. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
  126. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  127. data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
  128. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
  129. data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
  130. data/doc/classes/TaskJuggler/Shift.html +18 -18
  131. data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
  132. data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
  133. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  134. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  135. data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
  136. data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
  137. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  138. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  139. data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
  140. data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
  141. data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
  142. data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
  143. data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
  144. data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
  145. data/doc/classes/TaskJuggler/TableReport.html +447 -468
  146. data/doc/classes/TaskJuggler/Task.html +12 -12
  147. data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
  148. data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
  149. data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
  150. data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
  151. data/doc/classes/TaskJuggler/TextParser.html +215 -194
  152. data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
  153. data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
  154. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
  155. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  156. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
  157. data/doc/classes/TaskJuggler/TextReport.html +77 -74
  158. data/doc/classes/TaskJuggler/TextScanner.html +294 -281
  159. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  160. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
  161. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
  162. data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
  163. data/doc/classes/TaskJuggler/TjException.html +6 -6
  164. data/doc/classes/TaskJuggler/TjTime.html +522 -513
  165. data/doc/classes/TaskJuggler/TjpExample.html +25 -25
  166. data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
  167. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
  168. data/doc/classes/TaskJuggler/UserManual.html +212 -213
  169. data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
  170. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
  171. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  172. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  173. data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
  174. data/doc/classes/TaskJuggler/XMLElement.html +86 -50
  175. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  176. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  177. data/doc/files/COPYING.html +1 -1
  178. data/doc/files/README.html +1 -1
  179. data/doc/files/lib/AccountScenario_rb.html +3 -2
  180. data/doc/files/lib/Account_rb.html +3 -2
  181. data/doc/files/lib/Allocation_rb.html +3 -2
  182. data/doc/files/lib/AppConfig_rb.html +5 -2
  183. data/doc/files/lib/AttributeBase_rb.html +3 -2
  184. data/doc/files/lib/AttributeDefinition_rb.html +3 -2
  185. data/doc/files/lib/Attributes_rb.html +3 -2
  186. data/doc/files/lib/BatchProcessor_rb.html +4 -3
  187. data/doc/files/lib/Booking_rb.html +3 -2
  188. data/doc/files/lib/ChargeSet_rb.html +3 -2
  189. data/doc/files/lib/Charge_rb.html +3 -2
  190. data/doc/files/lib/HTMLDocument_rb.html +3 -2
  191. data/doc/files/lib/Interval_rb.html +3 -2
  192. data/doc/files/lib/Journal_rb.html +4 -3
  193. data/doc/files/lib/KeywordArray_rb.html +3 -2
  194. data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
  195. data/doc/files/lib/Limits_rb.html +3 -2
  196. data/doc/files/lib/Log_rb.html +3 -2
  197. data/doc/files/lib/LogicalExpression_rb.html +3 -2
  198. data/doc/files/lib/LogicalFunction_rb.html +3 -2
  199. data/doc/files/lib/LogicalOperation_rb.html +3 -2
  200. data/doc/files/lib/MacroParser_rb.html +3 -2
  201. data/doc/files/lib/MacroTable_rb.html +3 -2
  202. data/doc/files/lib/MessageHandler_rb.html +3 -2
  203. data/doc/files/lib/Message_rb.html +3 -2
  204. data/doc/files/lib/ProjectFileParser_rb.html +7 -4
  205. data/doc/files/lib/Project_rb.html +3 -2
  206. data/doc/files/lib/PropertyList_rb.html +3 -2
  207. data/doc/files/lib/PropertySet_rb.html +3 -2
  208. data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
  209. data/doc/files/lib/Query_rb.html +3 -2
  210. data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
  211. data/doc/files/lib/RTFQuery_rb.html +121 -0
  212. data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
  213. data/doc/files/lib/RealFormat_rb.html +3 -2
  214. data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
  215. data/doc/files/lib/ReportServer_rb.html +107 -0
  216. data/doc/files/lib/ResourceScenario_rb.html +3 -2
  217. data/doc/files/lib/Resource_rb.html +3 -2
  218. data/doc/files/lib/RichTextDocument_rb.html +4 -3
  219. data/doc/files/lib/RichTextElement_rb.html +3 -2
  220. data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
  221. data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
  222. data/doc/files/lib/RichTextParser_rb.html +3 -2
  223. data/doc/files/lib/RichTextScanner_rb.html +3 -2
  224. data/doc/files/lib/RichTextSnip_rb.html +3 -2
  225. data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
  226. data/doc/files/lib/RichText_rb.html +3 -2
  227. data/doc/files/lib/ScenarioData_rb.html +3 -2
  228. data/doc/files/lib/Scenario_rb.html +3 -2
  229. data/doc/files/lib/Scoreboard_rb.html +3 -2
  230. data/doc/files/lib/ShiftAssignments_rb.html +3 -2
  231. data/doc/files/lib/ShiftScenario_rb.html +3 -2
  232. data/doc/files/lib/Shift_rb.html +3 -2
  233. data/doc/files/lib/SourceFileInfo_rb.html +3 -2
  234. data/doc/files/lib/SyntaxReference_rb.html +3 -2
  235. data/doc/files/lib/TOCEntry_rb.html +3 -2
  236. data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
  237. data/doc/files/lib/TableOfContents_rb.html +3 -2
  238. data/doc/files/lib/TaskDependency_rb.html +3 -2
  239. data/doc/files/lib/TaskJuggler_rb.html +7 -2
  240. data/doc/files/lib/TaskScenario_rb.html +3 -2
  241. data/doc/files/lib/Task_rb.html +3 -2
  242. data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
  243. data/doc/files/lib/TextParser/Rule_rb.html +4 -3
  244. data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
  245. data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
  246. data/doc/files/lib/TextParser_rb.html +3 -2
  247. data/doc/files/lib/TextScanner_rb.html +3 -2
  248. data/doc/files/lib/Tj3Config_rb.html +3 -2
  249. data/doc/files/lib/TjException_rb.html +3 -2
  250. data/doc/files/lib/TjTime_rb.html +3 -2
  251. data/doc/files/lib/TjpExample_rb.html +3 -2
  252. data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
  253. data/doc/files/lib/UTF8String_rb.html +14 -6
  254. data/doc/files/lib/UserManual_rb.html +6 -3
  255. data/doc/files/lib/WorkingHours_rb.html +3 -2
  256. data/doc/files/lib/XMLDocument_rb.html +3 -2
  257. data/doc/files/lib/XMLElement_rb.html +3 -2
  258. data/doc/files/lib/deep_copy_rb.html +3 -2
  259. data/doc/files/lib/reports/CSVFile_rb.html +3 -2
  260. data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
  261. data/doc/files/lib/reports/GanttChart_rb.html +3 -2
  262. data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
  263. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
  264. data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
  265. data/doc/files/lib/reports/GanttLine_rb.html +3 -2
  266. data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
  267. data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
  268. data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
  269. data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
  270. data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
  271. data/doc/files/lib/reports/Navigator_rb.html +3 -2
  272. data/doc/files/lib/reports/ReportBase_rb.html +3 -2
  273. data/doc/files/lib/reports/ReportContext_rb.html +3 -2
  274. data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
  275. data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
  276. data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
  277. data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
  278. data/doc/files/lib/reports/ReportTable_rb.html +3 -2
  279. data/doc/files/lib/reports/Report_rb.html +7 -2
  280. data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
  281. data/doc/files/lib/reports/TableReport_rb.html +3 -2
  282. data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
  283. data/doc/files/lib/reports/TextReport_rb.html +4 -3
  284. data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
  285. data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
  286. data/doc/files/lib/taskjuggler3_rb.html +94 -77
  287. data/doc/files/lib/tj3client_rb.html +280 -0
  288. data/doc/files/lib/tj3man_rb.html +10 -9
  289. data/doc/fr_class_index.html +27 -5
  290. data/doc/fr_file_index.html +15 -7
  291. data/doc/fr_method_index.html +1312 -1020
  292. data/examples/tutorial.tjp +113 -14
  293. data/gem_spec.rb +2 -1
  294. data/lib/Account.rb +1 -1
  295. data/lib/AccountScenario.rb +1 -1
  296. data/lib/Allocation.rb +1 -1
  297. data/lib/AppConfig.rb +23 -10
  298. data/lib/AttributeBase.rb +34 -6
  299. data/lib/AttributeDefinition.rb +1 -1
  300. data/lib/Attributes.rb +51 -16
  301. data/lib/BatchProcessor.rb +204 -77
  302. data/lib/Booking.rb +1 -1
  303. data/lib/Charge.rb +1 -1
  304. data/lib/ChargeSet.rb +1 -1
  305. data/lib/HTMLDocument.rb +2 -2
  306. data/lib/Interval.rb +1 -1
  307. data/lib/Journal.rb +231 -9
  308. data/lib/KeywordArray.rb +1 -1
  309. data/lib/KeywordDocumentation.rb +6 -4
  310. data/lib/Limits.rb +1 -1
  311. data/lib/Log.rb +8 -1
  312. data/lib/LogicalExpression.rb +14 -13
  313. data/lib/LogicalFunction.rb +88 -14
  314. data/lib/LogicalOperation.rb +124 -53
  315. data/lib/MacroParser.rb +1 -1
  316. data/lib/MacroTable.rb +2 -2
  317. data/lib/Message.rb +1 -1
  318. data/lib/MessageHandler.rb +7 -3
  319. data/lib/Project.rb +93 -14
  320. data/lib/ProjectFileParser.rb +30 -15
  321. data/lib/PropertyList.rb +103 -36
  322. data/lib/PropertySet.rb +22 -10
  323. data/lib/PropertyTreeNode.rb +120 -15
  324. data/lib/Query.rb +119 -48
  325. data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
  326. data/lib/RTFQuery.rb +166 -0
  327. data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
  328. data/lib/RealFormat.rb +1 -1
  329. data/lib/RemoteServiceManager.rb +80 -0
  330. data/lib/ReportServer.rb +66 -0
  331. data/lib/Resource.rb +1 -1
  332. data/lib/ResourceScenario.rb +48 -19
  333. data/lib/RichText.rb +98 -41
  334. data/lib/RichTextDocument.rb +10 -8
  335. data/lib/RichTextElement.rb +72 -28
  336. data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
  337. data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
  338. data/lib/RichTextParser.rb +6 -3
  339. data/lib/RichTextScanner.rb +91 -19
  340. data/lib/RichTextSnip.rb +8 -3
  341. data/lib/RichTextSyntaxRules.rb +103 -45
  342. data/lib/Scenario.rb +1 -1
  343. data/lib/ScenarioData.rb +2 -2
  344. data/lib/Scoreboard.rb +1 -1
  345. data/lib/Shift.rb +1 -1
  346. data/lib/ShiftAssignments.rb +1 -1
  347. data/lib/ShiftScenario.rb +1 -1
  348. data/lib/SourceFileInfo.rb +1 -1
  349. data/lib/SyntaxReference.rb +2 -2
  350. data/lib/TOCEntry.rb +1 -1
  351. data/lib/TableColumnDefinition.rb +59 -16
  352. data/lib/TableOfContents.rb +1 -1
  353. data/lib/Task.rb +1 -1
  354. data/lib/TaskDependency.rb +1 -1
  355. data/lib/TaskJuggler.rb +31 -8
  356. data/lib/TaskScenario.rb +165 -16
  357. data/lib/TextParser.rb +36 -22
  358. data/lib/TextParser/Pattern.rb +3 -3
  359. data/lib/TextParser/Rule.rb +2 -2
  360. data/lib/TextParser/StackElement.rb +4 -3
  361. data/lib/TextParser/TokenDoc.rb +2 -2
  362. data/lib/TextScanner.rb +52 -37
  363. data/lib/Tj3Config.rb +6 -5
  364. data/lib/TjException.rb +1 -1
  365. data/lib/TjTime.rb +12 -3
  366. data/lib/TjpExample.rb +1 -1
  367. data/lib/TjpSyntaxRules.rb +1044 -150
  368. data/lib/UTF8String.rb +2 -1
  369. data/lib/UserManual.rb +18 -70
  370. data/lib/WorkingHours.rb +3 -3
  371. data/lib/XMLDocument.rb +3 -2
  372. data/lib/XMLElement.rb +6 -1
  373. data/lib/deep_copy.rb +1 -1
  374. data/lib/reports/CSVFile.rb +1 -1
  375. data/lib/reports/ColumnTable.rb +9 -9
  376. data/lib/reports/GanttChart.rb +1 -1
  377. data/lib/reports/GanttContainer.rb +1 -1
  378. data/lib/reports/GanttHeader.rb +1 -1
  379. data/lib/reports/GanttHeaderScaleItem.rb +1 -1
  380. data/lib/reports/GanttLine.rb +40 -40
  381. data/lib/reports/GanttLoadStack.rb +1 -1
  382. data/lib/reports/GanttMilestone.rb +1 -1
  383. data/lib/reports/GanttRouter.rb +1 -1
  384. data/lib/reports/GanttTaskBar.rb +1 -1
  385. data/lib/reports/HTMLGraphics.rb +1 -1
  386. data/lib/reports/Navigator.rb +149 -22
  387. data/lib/reports/Report.rb +115 -172
  388. data/lib/reports/ReportBase.rb +22 -27
  389. data/lib/reports/ReportContext.rb +29 -15
  390. data/lib/reports/ReportTable.rb +1 -1
  391. data/lib/reports/ReportTableCell.rb +120 -27
  392. data/lib/reports/ReportTableColumn.rb +3 -3
  393. data/lib/reports/ReportTableLegend.rb +1 -1
  394. data/lib/reports/ReportTableLine.rb +10 -2
  395. data/lib/reports/ResourceListRE.rb +5 -1
  396. data/lib/reports/TableReport.rb +237 -287
  397. data/lib/reports/TaskListRE.rb +5 -1
  398. data/lib/reports/TextReport.rb +7 -4
  399. data/lib/reports/TimeSheetReport.rb +233 -0
  400. data/lib/reports/TjpExportRE.rb +2 -2
  401. data/lib/taskjuggler3.rb +27 -11
  402. data/lib/tj3client.rb +110 -0
  403. data/lib/tj3man.rb +4 -4
  404. data/manual/Getting_Started +0 -50
  405. data/manual/How_To_Contribute +6 -13
  406. data/manual/Installation +102 -28
  407. data/manual/Intro +11 -1
  408. data/manual/Reporting_Bugs +23 -7
  409. data/manual/Rich_Text_Attributes +59 -6
  410. data/manual/TaskJuggler_2x_Migration +27 -0
  411. data/manual/The_TaskJuggler_Syntax +104 -0
  412. data/manual/Tutorial +10 -9
  413. data/prj_cfg.rb +8 -2
  414. data/tasks/csts.rake +1 -1
  415. data/tasks/manual.rake +5 -3
  416. data/test/MessageChecker.rb +1 -1
  417. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  418. data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
  419. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  420. data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
  421. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  422. data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
  423. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  424. data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
  425. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
  426. data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
  427. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  428. data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
  429. data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
  430. data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
  431. data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
  432. data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
  433. data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
  434. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  435. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  436. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  437. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  438. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  439. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  440. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  441. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  442. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  443. data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
  444. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  445. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
  446. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
  447. data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
  448. data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
  449. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
  450. data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
  451. data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
  452. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
  453. data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
  454. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  455. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  456. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  457. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  458. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  459. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  460. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  461. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  462. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  463. data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
  464. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
  465. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
  466. data/test/all.rb +2 -2
  467. data/test/test_BatchProcessor.rb +42 -13
  468. data/test/test_CSV-Reports.rb +1 -1
  469. data/test/test_Journal.rb +176 -0
  470. data/test/test_Limits.rb +1 -1
  471. data/test/test_LogicalExpression.rb +14 -5
  472. data/test/test_MacroTable.rb +1 -1
  473. data/test/test_Project.rb +1 -1
  474. data/test/test_PropertySet.rb +1 -1
  475. data/test/test_Query.rb +1 -1
  476. data/test/test_RealFormat.rb +1 -1
  477. data/test/test_RichText.rb +30 -20
  478. data/test/test_Scheduler.rb +1 -1
  479. data/test/test_ShiftAssignments.rb +2 -2
  480. data/test/test_Syntax.rb +1 -1
  481. data/test/test_TextScanner.rb +1 -1
  482. data/test/test_TjTime.rb +1 -1
  483. data/test/test_TjpExample.rb +1 -1
  484. data/test/test_UTF8String.rb +1 -1
  485. data/test/test_WorkingHours.rb +1 -1
  486. data/test/test_deep_copy.rb +2 -2
  487. metadata +610 -532
  488. data/doc/files/lib/ms_test_rb.html +0 -90
  489. data/examples/ContactList.html +0 -1467
  490. data/examples/Deliveries.html +0 -485
  491. data/examples/Development.html +0 -2525
  492. data/examples/Overview.html +0 -747
  493. data/examples/Resource Graph.html +0 -616
  494. data/lib/ms_test.rb +0 -27
  495. data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
@@ -109,13 +109,13 @@ href="RichTextScanner.html">RichTextScanner</a> class is used.
109
109
 
110
110
  <div class="name-list">
111
111
 
112
- <a href="#M000701">new</a>&nbsp;&nbsp;
112
+ <a href="#M000464">new</a>&nbsp;&nbsp;
113
113
 
114
- <a href="#M000703">nextToken</a>&nbsp;&nbsp;
114
+ <a href="#M000466">nextToken</a>&nbsp;&nbsp;
115
115
 
116
- <a href="#M000702">open</a>&nbsp;&nbsp;
116
+ <a href="#M000465">open</a>&nbsp;&nbsp;
117
117
 
118
- <a href="#M000704">returnToken</a>&nbsp;&nbsp;
118
+ <a href="#M000467">returnToken</a>&nbsp;&nbsp;
119
119
 
120
120
  </div>
121
121
  </div>
@@ -146,14 +146,14 @@ href="RichTextScanner.html">RichTextScanner</a> class is used.
146
146
  <h3 class="section-bar">Public Class methods</h3>
147
147
 
148
148
 
149
- <div id="method-M000701" class="method-detail">
150
- <a name="M000701"></a>
149
+ <div id="method-M000464" class="method-detail">
150
+ <a name="M000464"></a>
151
151
 
152
152
  <div class="method-heading">
153
153
 
154
- <a href="#M000701" class="method-signature">
154
+ <a href="#M000464" class="method-signature">
155
155
 
156
- <span class="method-name">new</span><span class="method-args">(rt, sectionCounter = [ 0, 0, 0] )</span>
156
+ <span class="method-name">new</span><span class="method-args">(rti, sectionCounter = [ 0, 0, 0], tokenSet = nil)</span>
157
157
 
158
158
  </a>
159
159
 
@@ -168,26 +168,29 @@ href="RichTextElement.html">RichTextElement</a> objects should belong to.
168
168
  </p>
169
169
 
170
170
  <p><a class="source-toggle" href="#"
171
- onclick="toggleCode('M000701-source');return false;">[Source]</a></p>
172
- <div class="method-source-code" id="M000701-source">
171
+ onclick="toggleCode('M000464-source');return false;">[Source]</a></p>
172
+ <div class="method-source-code" id="M000464-source">
173
173
  <pre>
174
174
  <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 30</span>
175
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rt</span>, <span class="ruby-identifier">sectionCounter</span> = [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>] )
175
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rti</span>, <span class="ruby-identifier">sectionCounter</span> = [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>], <span class="ruby-identifier">tokenSet</span> = <span class="ruby-keyword kw">nil</span>)
176
176
  31: <span class="ruby-keyword kw">super</span>()
177
- 32: <span class="ruby-ivar">@richText</span> = <span class="ruby-identifier">rt</span>
177
+ 32: <span class="ruby-ivar">@richTextI</span> = <span class="ruby-identifier">rti</span>
178
178
  33: <span class="ruby-comment cmt"># These are the tokens that can be returned by the RichTextScanner.</span>
179
179
  34: <span class="ruby-ivar">@variables</span> = <span class="ruby-node">%w( LINEBREAK SPACE WORD BOLD ITALIC CODE BOLDITALIC PRE
180
180
  35: HREF HREFEND REF REFEND HLINE
181
- 36: BLOCKFUNCSTART BLOCKFUNCEND ID STRING
182
- 37: TITLE1 TITLE2 TITLE3 TITLE1END TITLE2END TITLE3END
183
- 38: BULLET1 BULLET2 BULLET3 NUMBER1 NUMBER2 NUMBER3 )</span>
184
- 39: <span class="ruby-comment cmt"># Load the rule set into the parser.</span>
185
- 40: <span class="ruby-identifier">initRules</span>
186
- 41: <span class="ruby-comment cmt"># The sections and numbered list can each nest 3 levels deep. We use these</span>
187
- 42: <span class="ruby-comment cmt"># counter Arrays to generate proper 1.2.3 type labels.</span>
188
- 43: <span class="ruby-ivar">@sectionCounter</span> = <span class="ruby-identifier">sectionCounter</span>
189
- 44: <span class="ruby-ivar">@numberListCounter</span> = [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span> ]
190
- 45: <span class="ruby-keyword kw">end</span>
181
+ 36: QUERY
182
+ 37: INLINEFUNCSTART INLINEFUNCEND
183
+ 38: BLOCKFUNCSTART BLOCKFUNCEND ID STRING
184
+ 39: TITLE1 TITLE2 TITLE3 TITLE1END TITLE2END TITLE3END
185
+ 40: BULLET1 BULLET2 BULLET3 NUMBER1 NUMBER2 NUMBER3 )</span>
186
+ 41: <span class="ruby-identifier">limitTokenSet</span>(<span class="ruby-identifier">tokenSet</span>)
187
+ 42: <span class="ruby-comment cmt"># Load the rule set into the parser.</span>
188
+ 43: <span class="ruby-identifier">initRules</span>
189
+ 44: <span class="ruby-comment cmt"># The sections and numbered list can each nest 3 levels deep. We use these</span>
190
+ 45: <span class="ruby-comment cmt"># counter Arrays to generate proper 1.2.3 type labels.</span>
191
+ 46: <span class="ruby-ivar">@sectionCounter</span> = <span class="ruby-identifier">sectionCounter</span>
192
+ 47: <span class="ruby-ivar">@numberListCounter</span> = [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span> ]
193
+ 48: <span class="ruby-keyword kw">end</span>
191
194
  </pre>
192
195
  </div>
193
196
 
@@ -198,12 +201,12 @@ href="RichTextElement.html">RichTextElement</a> objects should belong to.
198
201
  <h3 class="section-bar">Public Instance methods</h3>
199
202
 
200
203
 
201
- <div id="method-M000703" class="method-detail">
202
- <a name="M000703"></a>
204
+ <div id="method-M000466" class="method-detail">
205
+ <a name="M000466"></a>
203
206
 
204
207
  <div class="method-heading">
205
208
 
206
- <a href="#M000703" class="method-signature">
209
+ <a href="#M000466" class="method-signature">
207
210
 
208
211
  <span class="method-name">nextToken</span><span class="method-args">()</span>
209
212
 
@@ -218,13 +221,13 @@ Get the next token from the scanner.
218
221
  </p>
219
222
 
220
223
  <p><a class="source-toggle" href="#"
221
- onclick="toggleCode('M000703-source');return false;">[Source]</a></p>
222
- <div class="method-source-code" id="M000703-source">
224
+ onclick="toggleCode('M000466-source');return false;">[Source]</a></p>
225
+ <div class="method-source-code" id="M000466-source">
223
226
  <pre>
224
- <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 55</span>
225
- 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
226
- 56: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">nextToken</span>
227
- 57: <span class="ruby-keyword kw">end</span>
227
+ <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 58</span>
228
+ 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
229
+ 59: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">nextToken</span>
230
+ 60: <span class="ruby-keyword kw">end</span>
228
231
  </pre>
229
232
  </div>
230
233
 
@@ -232,12 +235,12 @@ Get the next token from the scanner.
232
235
  </div>
233
236
 
234
237
 
235
- <div id="method-M000702" class="method-detail">
236
- <a name="M000702"></a>
238
+ <div id="method-M000465" class="method-detail">
239
+ <a name="M000465"></a>
237
240
 
238
241
  <div class="method-heading">
239
242
 
240
- <a href="#M000702" class="method-signature">
243
+ <a href="#M000465" class="method-signature">
241
244
 
242
245
  <span class="method-name">open</span><span class="method-args">(text)</span>
243
246
 
@@ -252,15 +255,15 @@ Construct the parser and get ready to read.
252
255
  </p>
253
256
 
254
257
  <p><a class="source-toggle" href="#"
255
- onclick="toggleCode('M000702-source');return false;">[Source]</a></p>
256
- <div class="method-source-code" id="M000702-source">
258
+ onclick="toggleCode('M000465-source');return false;">[Source]</a></p>
259
+ <div class="method-source-code" id="M000465-source">
257
260
  <pre>
258
- <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 48</span>
259
- 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">text</span>)
260
- 49: <span class="ruby-comment cmt"># Make sure that the last line is properly terminated with a newline.</span>
261
- 50: <span class="ruby-comment cmt"># Multiple newlines at the end are simply ignored.</span>
262
- 51: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">RichTextScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>)
263
- 52: <span class="ruby-keyword kw">end</span>
261
+ <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 51</span>
262
+ 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">text</span>)
263
+ 52: <span class="ruby-comment cmt"># Make sure that the last line is properly terminated with a newline.</span>
264
+ 53: <span class="ruby-comment cmt"># Multiple newlines at the end are simply ignored.</span>
265
+ 54: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">RichTextScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>)
266
+ 55: <span class="ruby-keyword kw">end</span>
264
267
  </pre>
265
268
  </div>
266
269
 
@@ -268,12 +271,12 @@ Construct the parser and get ready to read.
268
271
  </div>
269
272
 
270
273
 
271
- <div id="method-M000704" class="method-detail">
272
- <a name="M000704"></a>
274
+ <div id="method-M000467" class="method-detail">
275
+ <a name="M000467"></a>
273
276
 
274
277
  <div class="method-heading">
275
278
 
276
- <a href="#M000704" class="method-signature">
279
+ <a href="#M000467" class="method-signature">
277
280
 
278
281
  <span class="method-name">returnToken</span><span class="method-args">(token)</span>
279
282
 
@@ -288,13 +291,13 @@ Return the last fetch token again to the scanner.
288
291
  </p>
289
292
 
290
293
  <p><a class="source-toggle" href="#"
291
- onclick="toggleCode('M000704-source');return false;">[Source]</a></p>
292
- <div class="method-source-code" id="M000704-source">
294
+ onclick="toggleCode('M000467-source');return false;">[Source]</a></p>
295
+ <div class="method-source-code" id="M000467-source">
293
296
  <pre>
294
- <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 60</span>
295
- 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
296
- 61: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
297
- 62: <span class="ruby-keyword kw">end</span>
297
+ <span class="ruby-comment cmt"># File lib/RichTextParser.rb, line 63</span>
298
+ 63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
299
+ 64: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
300
+ 65: <span class="ruby-keyword kw">end</span>
298
301
  </pre>
299
302
  </div>
300
303
 
@@ -92,8 +92,8 @@
92
92
  The <a href="RichTextScanner.html">RichTextScanner</a> is used by the <a
93
93
  href="RichTextParser.html">RichTextParser</a> to chop the input text into
94
94
  digestable tokens. The parser and the scanner only communicate over <a
95
- href="RichTextScanner.html#M000939">RichTextScanner#nextToken</a> and <a
96
- href="RichTextScanner.html#M000940">RichTextScanner#returnToken</a>. The
95
+ href="RichTextScanner.html#M000721">RichTextScanner#nextToken</a> and <a
96
+ href="RichTextScanner.html#M000722">RichTextScanner#returnToken</a>. The
97
97
  scanner can break the text into words and special tokens.
98
98
  </p>
99
99
 
@@ -107,17 +107,17 @@ scanner can break the text into words and special tokens.
107
107
 
108
108
  <div class="name-list">
109
109
 
110
- <a href="#M000943">error</a>&nbsp;&nbsp;
110
+ <a href="#M000725">error</a>&nbsp;&nbsp;
111
111
 
112
- <a href="#M000942">fileName</a>&nbsp;&nbsp;
112
+ <a href="#M000724">fileName</a>&nbsp;&nbsp;
113
113
 
114
- <a href="#M000938">new</a>&nbsp;&nbsp;
114
+ <a href="#M000720">new</a>&nbsp;&nbsp;
115
115
 
116
- <a href="#M000939">nextToken</a>&nbsp;&nbsp;
116
+ <a href="#M000721">nextToken</a>&nbsp;&nbsp;
117
117
 
118
- <a href="#M000940">returnToken</a>&nbsp;&nbsp;
118
+ <a href="#M000722">returnToken</a>&nbsp;&nbsp;
119
119
 
120
- <a href="#M000941">sourceFileInfo</a>&nbsp;&nbsp;
120
+ <a href="#M000723">sourceFileInfo</a>&nbsp;&nbsp;
121
121
 
122
122
  </div>
123
123
  </div>
@@ -138,12 +138,12 @@ scanner can break the text into words and special tokens.
138
138
  <h3 class="section-bar">Public Class methods</h3>
139
139
 
140
140
 
141
- <div id="method-M000938" class="method-detail">
142
- <a name="M000938"></a>
141
+ <div id="method-M000720" class="method-detail">
142
+ <a name="M000720"></a>
143
143
 
144
144
  <div class="method-heading">
145
145
 
146
- <a href="#M000938" class="method-signature">
146
+ <a href="#M000720" class="method-signature">
147
147
 
148
148
  <span class="method-name">new</span><span class="method-args">(text)</span>
149
149
 
@@ -159,8 +159,8 @@ initialize all state variables.
159
159
  </p>
160
160
 
161
161
  <p><a class="source-toggle" href="#"
162
- onclick="toggleCode('M000938-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000938-source">
162
+ onclick="toggleCode('M000720-source');return false;">[Source]</a></p>
163
+ <div class="method-source-code" id="M000720-source">
164
164
  <pre>
165
165
  <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 24</span>
166
166
  24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>)
@@ -201,12 +201,12 @@ initialize all state variables.
201
201
  <h3 class="section-bar">Public Instance methods</h3>
202
202
 
203
203
 
204
- <div id="method-M000943" class="method-detail">
205
- <a name="M000943"></a>
204
+ <div id="method-M000725" class="method-detail">
205
+ <a name="M000725"></a>
206
206
 
207
207
  <div class="method-heading">
208
208
 
209
- <a href="#M000943" class="method-signature">
209
+ <a href="#M000725" class="method-signature">
210
210
 
211
211
  <span class="method-name">error</span><span class="method-args">(id, text, foo)</span>
212
212
 
@@ -221,19 +221,19 @@ The parser uses this function to report any errors during parsing.
221
221
  </p>
222
222
 
223
223
  <p><a class="source-toggle" href="#"
224
- onclick="toggleCode('M000943-source');return false;">[Source]</a></p>
225
- <div class="method-source-code" id="M000943-source">
224
+ onclick="toggleCode('M000725-source');return false;">[Source]</a></p>
225
+ <div class="method-source-code" id="M000725-source">
226
226
  <pre>
227
- <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 110</span>
228
- 110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">foo</span>)
229
- 111: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@debug</span>
230
- 112: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Line #{@lineNo}: #{text}\n&quot;</span> <span class="ruby-operator">+</span>
231
- 113: <span class="ruby-node">&quot;#{@text[@lineStart, @pos - @lineStart]}&quot;</span>
232
- 114: <span class="ruby-keyword kw">else</span>
233
- 115: <span class="ruby-identifier">raise</span> <span class="ruby-constant">RichTextException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-ivar">@lineNo</span>, <span class="ruby-identifier">text</span>,
234
- 116: <span class="ruby-ivar">@text</span>[<span class="ruby-ivar">@lineStart</span>, <span class="ruby-ivar">@pos</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lineStart</span>])
235
- 117: <span class="ruby-keyword kw">end</span>
236
- 118: <span class="ruby-keyword kw">end</span>
227
+ <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 113</span>
228
+ 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">foo</span>)
229
+ 114: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@debug</span>
230
+ 115: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Line #{@lineNo}: #{text}\n&quot;</span> <span class="ruby-operator">+</span>
231
+ 116: <span class="ruby-node">&quot;#{@text[@lineStart, @pos - @lineStart]}&quot;</span>
232
+ 117: <span class="ruby-keyword kw">else</span>
233
+ 118: <span class="ruby-identifier">raise</span> <span class="ruby-constant">RichTextException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-ivar">@lineNo</span>, <span class="ruby-identifier">text</span>,
234
+ 119: <span class="ruby-ivar">@text</span>[<span class="ruby-ivar">@lineStart</span>, <span class="ruby-ivar">@pos</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lineStart</span>])
235
+ 120: <span class="ruby-keyword kw">end</span>
236
+ 121: <span class="ruby-keyword kw">end</span>
237
237
  </pre>
238
238
  </div>
239
239
 
@@ -241,12 +241,12 @@ The parser uses this function to report any errors during parsing.
241
241
  </div>
242
242
 
243
243
 
244
- <div id="method-M000942" class="method-detail">
245
- <a name="M000942"></a>
244
+ <div id="method-M000724" class="method-detail">
245
+ <a name="M000724"></a>
246
246
 
247
247
  <div class="method-heading">
248
248
 
249
- <a href="#M000942" class="method-signature">
249
+ <a href="#M000724" class="method-signature">
250
250
 
251
251
  <span class="method-name">fileName</span><span class="method-args">()</span>
252
252
 
@@ -262,13 +262,13 @@ don&#8217;t have a file name, we just return &#8216;input text&#8217;.
262
262
  </p>
263
263
 
264
264
  <p><a class="source-toggle" href="#"
265
- onclick="toggleCode('M000942-source');return false;">[Source]</a></p>
266
- <div class="method-source-code" id="M000942-source">
265
+ onclick="toggleCode('M000724-source');return false;">[Source]</a></p>
266
+ <div class="method-source-code" id="M000724-source">
267
267
  <pre>
268
- <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 105</span>
269
- 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
270
- 106: <span class="ruby-value str">'input text'</span>
271
- 107: <span class="ruby-keyword kw">end</span>
268
+ <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 108</span>
269
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
270
+ 109: <span class="ruby-value str">'input text'</span>
271
+ 110: <span class="ruby-keyword kw">end</span>
272
272
  </pre>
273
273
  </div>
274
274
 
@@ -276,12 +276,12 @@ don&#8217;t have a file name, we just return &#8216;input text&#8217;.
276
276
  </div>
277
277
 
278
278
 
279
- <div id="method-M000939" class="method-detail">
280
- <a name="M000939"></a>
279
+ <div id="method-M000721" class="method-detail">
280
+ <a name="M000721"></a>
281
281
 
282
282
  <div class="method-heading">
283
283
 
284
- <a href="#M000939" class="method-signature">
284
+ <a href="#M000721" class="method-signature">
285
285
 
286
286
  <span class="method-name">nextToken</span><span class="method-args">()</span>
287
287
 
@@ -296,38 +296,40 @@ Return the next token from the input text.
296
296
  </p>
297
297
 
298
298
  <p><a class="source-toggle" href="#"
299
- onclick="toggleCode('M000939-source');return false;">[Source]</a></p>
300
- <div class="method-source-code" id="M000939-source">
299
+ onclick="toggleCode('M000721-source');return false;">[Source]</a></p>
300
+ <div class="method-source-code" id="M000721-source">
301
301
  <pre>
302
- <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 61</span>
303
- 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
304
- 62: <span class="ruby-comment cmt"># If we have a returned token, this is returned first.</span>
305
- 63: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tokenBuffer</span>
306
- 64: <span class="ruby-identifier">tok</span> = <span class="ruby-ivar">@tokenBuffer</span>
307
- 65: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
308
- 66: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tok</span>
309
- 67: <span class="ruby-keyword kw">end</span>
310
- 68:
311
- 69: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:funcarg</span>
312
- 70: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">nextTokenFuncArg</span>
313
- 71: <span class="ruby-keyword kw">end</span>
314
- 72: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@beginOfLine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:wiki</span>
315
- 73: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">res</span> = <span class="ruby-identifier">nextTokenWikiBOL</span>)
316
- 74: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
317
- 75: <span class="ruby-keyword kw">end</span>
318
- 76: <span class="ruby-keyword kw">end</span>
319
- 77:
320
- 78: <span class="ruby-comment cmt"># Many inline control character sequences consit of multiple characters.</span>
321
- 79: <span class="ruby-comment cmt"># In case of incomplete sequences, we roll back to the start character</span>
322
- 80: <span class="ruby-comment cmt"># and set the ignoreInlineMarkup flag to simply treat them as normal</span>
323
- 81: <span class="ruby-comment cmt"># text.</span>
324
- 82: <span class="ruby-ivar">@ignoreInlineMarkup</span> = <span class="ruby-keyword kw">false</span>
325
- 83: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
326
- 84: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span> = (<span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:wiki</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">nextTokenWikiInline</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">nextTokenNoWikiInline</span>)
327
- 85: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
328
- 86: <span class="ruby-keyword kw">end</span>
329
- 87: <span class="ruby-keyword kw">end</span>
330
- 88: <span class="ruby-keyword kw">end</span>
302
+ <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 62</span>
303
+ 62: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
304
+ 63: <span class="ruby-comment cmt"># If we have a returned token, this is returned first.</span>
305
+ 64: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tokenBuffer</span>
306
+ 65: <span class="ruby-identifier">tok</span> = <span class="ruby-ivar">@tokenBuffer</span>
307
+ 66: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
308
+ 67: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tok</span>
309
+ 68: <span class="ruby-keyword kw">end</span>
310
+ 69:
311
+ 70: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:funcarg</span>
312
+ 71: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">nextTokenFuncArg</span>
313
+ 72: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:href</span>
314
+ 73: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">nextTokenHRef</span>
315
+ 74: <span class="ruby-keyword kw">end</span>
316
+ 75: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@beginOfLine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:wiki</span>
317
+ 76: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">res</span> = <span class="ruby-identifier">nextTokenWikiBOL</span>)
318
+ 77: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
319
+ 78: <span class="ruby-keyword kw">end</span>
320
+ 79: <span class="ruby-keyword kw">end</span>
321
+ 80:
322
+ 81: <span class="ruby-comment cmt"># Many inline control character sequences consit of multiple characters.</span>
323
+ 82: <span class="ruby-comment cmt"># In case of incomplete sequences, we roll back to the start character</span>
324
+ 83: <span class="ruby-comment cmt"># and set the ignoreInlineMarkup flag to simply treat them as normal</span>
325
+ 84: <span class="ruby-comment cmt"># text.</span>
326
+ 85: <span class="ruby-ivar">@ignoreInlineMarkup</span> = <span class="ruby-keyword kw">false</span>
327
+ 86: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
328
+ 87: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span> = (<span class="ruby-ivar">@mode</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:wiki</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">nextTokenWikiInline</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">nextTokenNoWikiInline</span>)
329
+ 88: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
330
+ 89: <span class="ruby-keyword kw">end</span>
331
+ 90: <span class="ruby-keyword kw">end</span>
332
+ 91: <span class="ruby-keyword kw">end</span>
331
333
  </pre>
332
334
  </div>
333
335
 
@@ -335,12 +337,12 @@ Return the next token from the input text.
335
337
  </div>
336
338
 
337
339
 
338
- <div id="method-M000940" class="method-detail">
339
- <a name="M000940"></a>
340
+ <div id="method-M000722" class="method-detail">
341
+ <a name="M000722"></a>
340
342
 
341
343
  <div class="method-heading">
342
344
 
343
- <a href="#M000940" class="method-signature">
345
+ <a href="#M000722" class="method-signature">
344
346
 
345
347
  <span class="method-name">returnToken</span><span class="method-args">(token)</span>
346
348
 
@@ -355,16 +357,16 @@ Return the last issued token to the token buffer.
355
357
  </p>
356
358
 
357
359
  <p><a class="source-toggle" href="#"
358
- onclick="toggleCode('M000940-source');return false;">[Source]</a></p>
359
- <div class="method-source-code" id="M000940-source">
360
+ onclick="toggleCode('M000722-source');return false;">[Source]</a></p>
361
+ <div class="method-source-code" id="M000722-source">
360
362
  <pre>
361
- <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 91</span>
362
- 91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
363
- 92: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
364
- 93: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">'Token buffer overflow!'</span>
365
- 94: <span class="ruby-keyword kw">end</span>
366
- 95: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
367
- 96: <span class="ruby-keyword kw">end</span>
363
+ <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 94</span>
364
+ 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
365
+ 95: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
366
+ 96: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">'Token buffer overflow!'</span>
367
+ 97: <span class="ruby-keyword kw">end</span>
368
+ 98: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
369
+ 99: <span class="ruby-keyword kw">end</span>
368
370
  </pre>
369
371
  </div>
370
372
 
@@ -372,12 +374,12 @@ Return the last issued token to the token buffer.
372
374
  </div>
373
375
 
374
376
 
375
- <div id="method-M000941" class="method-detail">
376
- <a name="M000941"></a>
377
+ <div id="method-M000723" class="method-detail">
378
+ <a name="M000723"></a>
377
379
 
378
380
  <div class="method-heading">
379
381
 
380
- <a href="#M000941" class="method-signature">
382
+ <a href="#M000723" class="method-signature">
381
383
 
382
384
  <span class="method-name">sourceFileInfo</span><span class="method-args">()</span>
383
385
 
@@ -392,13 +394,13 @@ Return the last issued token to the token buffer.
392
394
  </p>
393
395
 
394
396
  <p><a class="source-toggle" href="#"
395
- onclick="toggleCode('M000941-source');return false;">[Source]</a></p>
396
- <div class="method-source-code" id="M000941-source">
397
+ onclick="toggleCode('M000723-source');return false;">[Source]</a></p>
398
+ <div class="method-source-code" id="M000723-source">
397
399
  <pre>
398
- <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 99</span>
399
- 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
400
- 100: [ <span class="ruby-ivar">@lineNo</span>, <span class="ruby-ivar">@pos</span> ]
401
- 101: <span class="ruby-keyword kw">end</span>
400
+ <span class="ruby-comment cmt"># File lib/RichTextScanner.rb, line 102</span>
401
+ 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
402
+ 103: [ <span class="ruby-ivar">@lineNo</span>, <span class="ruby-ivar">@pos</span> ]
403
+ 104: <span class="ruby-keyword kw">end</span>
402
404
  </pre>
403
405
  </div>
404
406