taskjuggler 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. data/CHANGELOG +7 -0
  2. data/data/tjp.vim +1 -1
  3. data/lib/exchangebug.rb +42 -0
  4. data/lib/ruby-signal-bug.rb +55 -0
  5. data/lib/taskjuggler/DataCache.rb +30 -41
  6. data/lib/taskjuggler/ResourceScenario.rb +19 -20
  7. data/lib/taskjuggler/TaskScenario.rb +11 -8
  8. data/lib/taskjuggler/Tj3Config.rb +1 -1
  9. data/prj_cfg.rb +3 -3
  10. data/test/TestSuite/Export-Reports/refs/DST.tjp +60 -0
  11. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +80 -0
  12. data/test/TestSuite/Export-Reports/tp.tjp +49 -0
  13. data/test/TestSuite/HTML-Reports/Alerts.html +412 -160
  14. data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
  15. data/test/TestSuite/HTML-Reports/css/tjmanual.css +20 -0
  16. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -6
  17. data/test/TestSuite/HTML-Reports/reference.html +51 -0
  18. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +86 -0
  19. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/css/tjreport.css +0 -0
  20. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/details.png +0 -0
  21. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-green.png +0 -0
  22. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-red.png +0 -0
  23. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-yellow.png +0 -0
  24. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resource.png +0 -0
  25. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resourcegroup.png +0 -0
  26. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/task.png +0 -0
  27. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/taskgroup.png +0 -0
  28. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-down.png +0 -0
  29. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-flat.png +0 -0
  30. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-up.png +0 -0
  31. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  32. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  33. data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/scripts/wz_tooltip.js +0 -0
  34. data/test/TestSuite/Scheduler/Correct/Allocate.html +1075 -0
  35. data/test/TestSuite/Scheduler/Correct/Duration.html +610 -0
  36. data/test/TestSuite/Scheduler/{Errors → Correct}/css/tjmanual.css +0 -0
  37. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +413 -0
  38. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  39. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  40. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  41. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  42. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  43. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  44. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  45. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  46. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  47. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  48. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  49. data/test/TestSuite/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +20 -20
  50. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  51. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  52. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  53. data/test/TestSuite/Syntax/Correct/DST.tjp +11 -0
  54. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +32 -0
  55. data/test/TestSuite/TimeSheets/receiver.log.mod +1056 -0
  56. data/test/TestSuite/TimeSheets/uu.txt +29 -0
  57. metadata +672 -1076
  58. data/benchmarks/UTF-8-Strings.rb +0 -58
  59. data/benchmarks/htmltaskreport-1.html +0 -47702
  60. data/benchmarks/htmltaskreport-2.html +0 -23345
  61. data/benchmarks/htmltaskreport-3.html +0 -23265
  62. data/benchmarks/htmltaskreport-4.html +0 -22135
  63. data/benchmarks/profile.clt +0 -36082
  64. data/benchmarks/tj3.profile +0 -0
  65. data/benchmarks/tj3.profile.grind +0 -6185
  66. data/benchmarks/tj3.profile.symbols +0 -432
  67. data/benchmarks/tj3.profile.txt +0 -448
  68. data/doc/AppConfig.html +0 -1515
  69. data/doc/CHANGELOG.html +0 -2441
  70. data/doc/COPYING.html +0 -923
  71. data/doc/Diff.html +0 -1217
  72. data/doc/Diff/Hunk.html +0 -1050
  73. data/doc/Diffable.html +0 -708
  74. data/doc/DiffableString.html +0 -708
  75. data/doc/Object.html +0 -744
  76. data/doc/README_rdoc.html +0 -774
  77. data/doc/RuntimeConfig.html +0 -880
  78. data/doc/String.html +0 -1029
  79. data/doc/TaskJuggler.html +0 -2698
  80. data/doc/TaskJuggler/Account.html +0 -777
  81. data/doc/TaskJuggler/AccountAttribute.html +0 -793
  82. data/doc/TaskJuggler/AccountScenario.html +0 -736
  83. data/doc/TaskJuggler/Allocation.html +0 -987
  84. data/doc/TaskJuggler/AllocationAttribute.html +0 -823
  85. data/doc/TaskJuggler/AttributeBase.html +0 -1379
  86. data/doc/TaskJuggler/AttributeDefinition.html +0 -839
  87. data/doc/TaskJuggler/AttributeOverwrite.html +0 -630
  88. data/doc/TaskJuggler/BatchProcessor.html +0 -1202
  89. data/doc/TaskJuggler/Booking.html +0 -883
  90. data/doc/TaskJuggler/BookingListAttribute.html +0 -793
  91. data/doc/TaskJuggler/BooleanAttribute.html +0 -793
  92. data/doc/TaskJuggler/CSVFile.html +0 -1152
  93. data/doc/TaskJuggler/CellSettingPattern.html +0 -724
  94. data/doc/TaskJuggler/CellSettingPatternList.html +0 -773
  95. data/doc/TaskJuggler/Charge.html +0 -801
  96. data/doc/TaskJuggler/ChargeListAttribute.html +0 -757
  97. data/doc/TaskJuggler/ChargeSet.html +0 -973
  98. data/doc/TaskJuggler/ChargeSetListAttribute.html +0 -802
  99. data/doc/TaskJuggler/CollisionDetector.html +0 -1113
  100. data/doc/TaskJuggler/ColumnListAttribute.html +0 -757
  101. data/doc/TaskJuggler/ColumnTable.html +0 -787
  102. data/doc/TaskJuggler/Daemon.html +0 -843
  103. data/doc/TaskJuggler/DataCache.html +0 -1049
  104. data/doc/TaskJuggler/DataCacheEntry.html +0 -761
  105. data/doc/TaskJuggler/DateAttribute.html +0 -761
  106. data/doc/TaskJuggler/DefinitionListAttribute.html +0 -679
  107. data/doc/TaskJuggler/DependencyListAttribute.html +0 -797
  108. data/doc/TaskJuggler/DurationAttribute.html +0 -794
  109. data/doc/TaskJuggler/FileList.html +0 -817
  110. data/doc/TaskJuggler/FileRecord.html +0 -726
  111. data/doc/TaskJuggler/FixnumAttribute.html +0 -715
  112. data/doc/TaskJuggler/FlagListAttribute.html +0 -793
  113. data/doc/TaskJuggler/FloatAttribute.html +0 -757
  114. data/doc/TaskJuggler/FormatListAttribute.html +0 -721
  115. data/doc/TaskJuggler/GanttChart.html +0 -1511
  116. data/doc/TaskJuggler/GanttContainer.html +0 -969
  117. data/doc/TaskJuggler/GanttHeader.html +0 -972
  118. data/doc/TaskJuggler/GanttHeaderScaleItem.html +0 -786
  119. data/doc/TaskJuggler/GanttLine.html +0 -1349
  120. data/doc/TaskJuggler/GanttLoadStack.html +0 -852
  121. data/doc/TaskJuggler/GanttMilestone.html +0 -950
  122. data/doc/TaskJuggler/GanttRouter.html +0 -1160
  123. data/doc/TaskJuggler/GanttTaskBar.html +0 -972
  124. data/doc/TaskJuggler/HTMLDocument.html +0 -800
  125. data/doc/TaskJuggler/HTMLElements.html +0 -623
  126. data/doc/TaskJuggler/HTMLGraphics.html +0 -861
  127. data/doc/TaskJuggler/ICalReport.html +0 -864
  128. data/doc/TaskJuggler/ICalendar.html +0 -1035
  129. data/doc/TaskJuggler/ICalendar/Component.html +0 -969
  130. data/doc/TaskJuggler/ICalendar/Event.html +0 -742
  131. data/doc/TaskJuggler/ICalendar/Journal.html +0 -722
  132. data/doc/TaskJuggler/ICalendar/Person.html +0 -633
  133. data/doc/TaskJuggler/ICalendar/Todo.html +0 -789
  134. data/doc/TaskJuggler/Interval.html +0 -1003
  135. data/doc/TaskJuggler/IntervalList.html +0 -821
  136. data/doc/TaskJuggler/JobInfo.html +0 -967
  137. data/doc/TaskJuggler/Journal.html +0 -1272
  138. data/doc/TaskJuggler/JournalEntry.html +0 -884
  139. data/doc/TaskJuggler/JournalEntryList.html +0 -1253
  140. data/doc/TaskJuggler/KeywordArray.html +0 -720
  141. data/doc/TaskJuggler/KeywordDocumentation.html +0 -2274
  142. data/doc/TaskJuggler/Limits.html +0 -1019
  143. data/doc/TaskJuggler/Limits/Limit.html +0 -1022
  144. data/doc/TaskJuggler/LimitsAttribute.html +0 -759
  145. data/doc/TaskJuggler/ListAttributeBase.html +0 -727
  146. data/doc/TaskJuggler/Log.html +0 -1187
  147. data/doc/TaskJuggler/LogFile.html +0 -1004
  148. data/doc/TaskJuggler/LogicalAttribute.html +0 -784
  149. data/doc/TaskJuggler/LogicalExpression.html +0 -825
  150. data/doc/TaskJuggler/LogicalExpressionAttribute.html +0 -715
  151. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +0 -715
  152. data/doc/TaskJuggler/LogicalFlag.html +0 -777
  153. data/doc/TaskJuggler/LogicalFunction.html +0 -1433
  154. data/doc/TaskJuggler/LogicalOperation.html +0 -1168
  155. data/doc/TaskJuggler/ManagerResponsibilities.html +0 -760
  156. data/doc/TaskJuggler/ManagerStatusRecord.html +0 -764
  157. data/doc/TaskJuggler/Message.html +0 -861
  158. data/doc/TaskJuggler/MessageHandler.html +0 -1102
  159. data/doc/TaskJuggler/Navigator.html +0 -967
  160. data/doc/TaskJuggler/NavigatorElement.html +0 -1018
  161. data/doc/TaskJuggler/NikuProject.html +0 -748
  162. data/doc/TaskJuggler/NikuReport.html +0 -1494
  163. data/doc/TaskJuggler/NikuResource.html +0 -718
  164. data/doc/TaskJuggler/NodeListAttribute.html +0 -679
  165. data/doc/TaskJuggler/PlaceHolderCell.html +0 -772
  166. data/doc/TaskJuggler/ProcessIntercom.html +0 -1041
  167. data/doc/TaskJuggler/ProcessIntercomIface.html +0 -797
  168. data/doc/TaskJuggler/Project.html +0 -3741
  169. data/doc/TaskJuggler/ProjectBroker.html +0 -1700
  170. data/doc/TaskJuggler/ProjectBrokerIface.html +0 -875
  171. data/doc/TaskJuggler/ProjectFileParser.html +0 -2127
  172. data/doc/TaskJuggler/ProjectFileScanner.html +0 -1921
  173. data/doc/TaskJuggler/ProjectRecord.html +0 -1002
  174. data/doc/TaskJuggler/ProjectServer.html +0 -1273
  175. data/doc/TaskJuggler/ProjectServerIface.html +0 -892
  176. data/doc/TaskJuggler/PropertyAttribute.html +0 -715
  177. data/doc/TaskJuggler/PropertyList.html +0 -1423
  178. data/doc/TaskJuggler/PropertySet.html +0 -1816
  179. data/doc/TaskJuggler/PropertyTreeNode.html +0 -2895
  180. data/doc/TaskJuggler/Query.html +0 -1783
  181. data/doc/TaskJuggler/RTFHandlers.html +0 -688
  182. data/doc/TaskJuggler/RTFNavigator.html +0 -816
  183. data/doc/TaskJuggler/RTFQuery.html +0 -1107
  184. data/doc/TaskJuggler/RTFReport.html +0 -844
  185. data/doc/TaskJuggler/RTFReportLink.html +0 -836
  186. data/doc/TaskJuggler/RTFWithQuerySupport.html +0 -726
  187. data/doc/TaskJuggler/RealFormat.html +0 -829
  188. data/doc/TaskJuggler/RealFormatAttribute.html +0 -679
  189. data/doc/TaskJuggler/ReferenceAttribute.html +0 -904
  190. data/doc/TaskJuggler/Report.html +0 -1645
  191. data/doc/TaskJuggler/ReportBase.html +0 -1192
  192. data/doc/TaskJuggler/ReportContext.html +0 -861
  193. data/doc/TaskJuggler/ReportScenario.html +0 -633
  194. data/doc/TaskJuggler/ReportServer.html +0 -1092
  195. data/doc/TaskJuggler/ReportServerIface.html +0 -926
  196. data/doc/TaskJuggler/ReportServerRecord.html +0 -805
  197. data/doc/TaskJuggler/ReportServlet.html +0 -1053
  198. data/doc/TaskJuggler/ReportTable.html +0 -1203
  199. data/doc/TaskJuggler/ReportTableCell.html +0 -1690
  200. data/doc/TaskJuggler/ReportTableColumn.html +0 -914
  201. data/doc/TaskJuggler/ReportTableLegend.html +0 -1084
  202. data/doc/TaskJuggler/ReportTableLine.html +0 -1091
  203. data/doc/TaskJuggler/Resource.html +0 -1066
  204. data/doc/TaskJuggler/ResourceListAttribute.html +0 -853
  205. data/doc/TaskJuggler/ResourceListRE.html +0 -761
  206. data/doc/TaskJuggler/ResourceScenario.html +0 -2591
  207. data/doc/TaskJuggler/RichText.html +0 -903
  208. data/doc/TaskJuggler/RichTextAttribute.html +0 -835
  209. data/doc/TaskJuggler/RichTextDocument.html +0 -1062
  210. data/doc/TaskJuggler/RichTextElement.html +0 -1804
  211. data/doc/TaskJuggler/RichTextFunctionExample.html +0 -823
  212. data/doc/TaskJuggler/RichTextFunctionHandler.html +0 -774
  213. data/doc/TaskJuggler/RichTextImage.html +0 -736
  214. data/doc/TaskJuggler/RichTextIntermediate.html +0 -1309
  215. data/doc/TaskJuggler/RichTextParser.html +0 -892
  216. data/doc/TaskJuggler/RichTextScanner.html +0 -1589
  217. data/doc/TaskJuggler/RichTextSnip.html +0 -1024
  218. data/doc/TaskJuggler/RichTextSyntaxRules.html +0 -2076
  219. data/doc/TaskJuggler/Scenario.html +0 -680
  220. data/doc/TaskJuggler/ScenarioData.html +0 -905
  221. data/doc/TaskJuggler/ScenarioListAttribute.html +0 -757
  222. data/doc/TaskJuggler/Scoreboard.html +0 -1265
  223. data/doc/TaskJuggler/ScoreboardInterval.html +0 -1116
  224. data/doc/TaskJuggler/SheetHandlerBase.html +0 -1321
  225. data/doc/TaskJuggler/SheetReceiver.html +0 -1422
  226. data/doc/TaskJuggler/SheetSender.html +0 -1192
  227. data/doc/TaskJuggler/Shift.html +0 -775
  228. data/doc/TaskJuggler/ShiftAssignment.html +0 -1032
  229. data/doc/TaskJuggler/ShiftAssignments.html +0 -1438
  230. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +0 -759
  231. data/doc/TaskJuggler/ShiftScenario.html +0 -806
  232. data/doc/TaskJuggler/SimpleQueryExpander.html +0 -756
  233. data/doc/TaskJuggler/SortListAttribute.html +0 -715
  234. data/doc/TaskJuggler/StatusSheetReceiver.html +0 -702
  235. data/doc/TaskJuggler/StatusSheetReport.html +0 -959
  236. data/doc/TaskJuggler/StatusSheetSender.html +0 -832
  237. data/doc/TaskJuggler/StdIoWrapper.html +0 -720
  238. data/doc/TaskJuggler/StringAttribute.html +0 -757
  239. data/doc/TaskJuggler/SymbolAttribute.html +0 -715
  240. data/doc/TaskJuggler/SyntaxReference.html +0 -1264
  241. data/doc/TaskJuggler/TOCEntry.html +0 -860
  242. data/doc/TaskJuggler/TSResourceRecord.html +0 -756
  243. data/doc/TaskJuggler/TSTaskRecord.html +0 -768
  244. data/doc/TaskJuggler/TableColumnDefinition.html +0 -973
  245. data/doc/TaskJuggler/TableOfContents.html +0 -814
  246. data/doc/TaskJuggler/TableReport.html +0 -2580
  247. data/doc/TaskJuggler/TagFile.html +0 -817
  248. data/doc/TaskJuggler/TagFile/TagFileEntry.html +0 -841
  249. data/doc/TaskJuggler/Task.html +0 -914
  250. data/doc/TaskJuggler/TaskDepListAttribute.html +0 -797
  251. data/doc/TaskJuggler/TaskDependency.html +0 -856
  252. data/doc/TaskJuggler/TaskListAttribute.html +0 -797
  253. data/doc/TaskJuggler/TaskListRE.html +0 -760
  254. data/doc/TaskJuggler/TaskScenario.html +0 -5237
  255. data/doc/TaskJuggler/TernarySearchTree.html +0 -1365
  256. data/doc/TaskJuggler/TextFormatter.html +0 -997
  257. data/doc/TaskJuggler/TextParser.html +0 -1886
  258. data/doc/TaskJuggler/TextParser/Macro.html +0 -732
  259. data/doc/TaskJuggler/TextParser/MacroTable.html +0 -856
  260. data/doc/TaskJuggler/TextParser/Pattern.html +0 -1767
  261. data/doc/TaskJuggler/TextParser/Rule.html +0 -1443
  262. data/doc/TaskJuggler/TextParser/Scanner.html +0 -1542
  263. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +0 -685
  264. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +0 -751
  265. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +0 -748
  266. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +0 -1128
  267. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +0 -784
  268. data/doc/TaskJuggler/TextParser/StackElement.html +0 -964
  269. data/doc/TaskJuggler/TextParser/State.html +0 -1039
  270. data/doc/TaskJuggler/TextParser/StateTransition.html +0 -832
  271. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +0 -735
  272. data/doc/TaskJuggler/TextParser/TokenDoc.html +0 -766
  273. data/doc/TaskJuggler/TextReport.html +0 -945
  274. data/doc/TaskJuggler/TimeInterval.html +0 -841
  275. data/doc/TaskJuggler/TimeIntervalListAttribute.html +0 -797
  276. data/doc/TaskJuggler/TimeSheet.html +0 -1288
  277. data/doc/TaskJuggler/TimeSheetReceiver.html +0 -699
  278. data/doc/TaskJuggler/TimeSheetRecord.html +0 -1439
  279. data/doc/TaskJuggler/TimeSheetReport.html +0 -1037
  280. data/doc/TaskJuggler/TimeSheetSender.html +0 -724
  281. data/doc/TaskJuggler/TimeSheetSummary.html +0 -983
  282. data/doc/TaskJuggler/TimeSheets.html +0 -760
  283. data/doc/TaskJuggler/Tj3.html +0 -896
  284. data/doc/TaskJuggler/Tj3AppBase.html +0 -966
  285. data/doc/TaskJuggler/Tj3Client.html +0 -1534
  286. data/doc/TaskJuggler/Tj3Daemon.html +0 -894
  287. data/doc/TaskJuggler/Tj3Man.html +0 -792
  288. data/doc/TaskJuggler/Tj3SheetAppBase.html +0 -782
  289. data/doc/TaskJuggler/Tj3SsReceiver.html +0 -771
  290. data/doc/TaskJuggler/Tj3SsSender.html +0 -804
  291. data/doc/TaskJuggler/Tj3TsReceiver.html +0 -771
  292. data/doc/TaskJuggler/Tj3TsSender.html +0 -791
  293. data/doc/TaskJuggler/Tj3TsSummary.html +0 -799
  294. data/doc/TaskJuggler/TjException.html +0 -716
  295. data/doc/TaskJuggler/TjRuntimeError.html +0 -630
  296. data/doc/TaskJuggler/TjTime.html +0 -3179
  297. data/doc/TaskJuggler/TjpExample.html +0 -921
  298. data/doc/TaskJuggler/TjpExportRE.html +0 -1851
  299. data/doc/TaskJuggler/TjpSyntaxRules.html +0 -14721
  300. data/doc/TaskJuggler/URLParameter.html +0 -715
  301. data/doc/TaskJuggler/UserManual.html +0 -1248
  302. data/doc/TaskJuggler/VimSyntax.html +0 -1088
  303. data/doc/TaskJuggler/WebServer.html +0 -781
  304. data/doc/TaskJuggler/WelcomePage.html +0 -813
  305. data/doc/TaskJuggler/WorkingHours.html +0 -1293
  306. data/doc/TaskJuggler/WorkingHoursAttribute.html +0 -780
  307. data/doc/TaskJuggler/XMLBlob.html +0 -731
  308. data/doc/TaskJuggler/XMLComment.html +0 -726
  309. data/doc/TaskJuggler/XMLDocument.html +0 -827
  310. data/doc/TaskJuggler/XMLElement.html +0 -1014
  311. data/doc/TaskJuggler/XMLNamedText.html +0 -687
  312. data/doc/TaskJuggler/XMLText.html +0 -741
  313. data/doc/index.html +0 -4664
  314. data/doc/lib/taskjuggler/AccountScenario_rb.html +0 -69
  315. data/doc/lib/taskjuggler/Account_rb.html +0 -71
  316. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +0 -67
  317. data/doc/lib/taskjuggler/Allocation_rb.html +0 -71
  318. data/doc/lib/taskjuggler/AppConfig_rb.html +0 -69
  319. data/doc/lib/taskjuggler/AttributeBase_rb.html +0 -69
  320. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +0 -67
  321. data/doc/lib/taskjuggler/Attributes_rb.html +0 -83
  322. data/doc/lib/taskjuggler/BatchProcessor_rb.html +0 -71
  323. data/doc/lib/taskjuggler/Booking_rb.html +0 -67
  324. data/doc/lib/taskjuggler/ChargeSet_rb.html +0 -69
  325. data/doc/lib/taskjuggler/Charge_rb.html +0 -69
  326. data/doc/lib/taskjuggler/DataCache_rb.html +0 -71
  327. data/doc/lib/taskjuggler/FileList_rb.html +0 -67
  328. data/doc/lib/taskjuggler/HTMLDocument_rb.html +0 -71
  329. data/doc/lib/taskjuggler/HTMLElements_rb.html +0 -69
  330. data/doc/lib/taskjuggler/ICalendar_rb.html +0 -69
  331. data/doc/lib/taskjuggler/IntervalList_rb.html +0 -69
  332. data/doc/lib/taskjuggler/Interval_rb.html +0 -69
  333. data/doc/lib/taskjuggler/Journal_rb.html +0 -67
  334. data/doc/lib/taskjuggler/KeywordArray_rb.html +0 -67
  335. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +0 -77
  336. data/doc/lib/taskjuggler/Limits_rb.html +0 -69
  337. data/doc/lib/taskjuggler/LogFile_rb.html +0 -69
  338. data/doc/lib/taskjuggler/Log_rb.html +0 -71
  339. data/doc/lib/taskjuggler/LogicalExpression_rb.html +0 -73
  340. data/doc/lib/taskjuggler/LogicalFunction_rb.html +0 -69
  341. data/doc/lib/taskjuggler/LogicalOperation_rb.html +0 -69
  342. data/doc/lib/taskjuggler/MessageHandler_rb.html +0 -69
  343. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +0 -77
  344. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +0 -69
  345. data/doc/lib/taskjuggler/Project_rb.html +0 -113
  346. data/doc/lib/taskjuggler/PropertyList_rb.html +0 -67
  347. data/doc/lib/taskjuggler/PropertySet_rb.html +0 -71
  348. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +0 -67
  349. data/doc/lib/taskjuggler/Query_rb.html +0 -69
  350. data/doc/lib/taskjuggler/RealFormat_rb.html +0 -67
  351. data/doc/lib/taskjuggler/ResourceScenario_rb.html +0 -69
  352. data/doc/lib/taskjuggler/Resource_rb.html +0 -71
  353. data/doc/lib/taskjuggler/RichText/Document_rb.html +0 -73
  354. data/doc/lib/taskjuggler/RichText/Element_rb.html +0 -75
  355. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +0 -73
  356. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +0 -67
  357. data/doc/lib/taskjuggler/RichText/Parser_rb.html +0 -75
  358. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +0 -75
  359. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +0 -73
  360. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +0 -73
  361. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +0 -75
  362. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +0 -71
  363. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +0 -69
  364. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +0 -71
  365. data/doc/lib/taskjuggler/RichText/Snip_rb.html +0 -71
  366. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +0 -67
  367. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +0 -71
  368. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +0 -71
  369. data/doc/lib/taskjuggler/RichText_rb.html +0 -73
  370. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +0 -69
  371. data/doc/lib/taskjuggler/ScenarioData_rb.html +0 -71
  372. data/doc/lib/taskjuggler/Scenario_rb.html +0 -69
  373. data/doc/lib/taskjuggler/Scoreboard_rb.html +0 -69
  374. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +0 -75
  375. data/doc/lib/taskjuggler/SheetReceiver_rb.html +0 -81
  376. data/doc/lib/taskjuggler/SheetSender_rb.html +0 -79
  377. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +0 -71
  378. data/doc/lib/taskjuggler/ShiftScenario_rb.html +0 -69
  379. data/doc/lib/taskjuggler/Shift_rb.html +0 -71
  380. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +0 -69
  381. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +0 -69
  382. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +0 -69
  383. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +0 -67
  384. data/doc/lib/taskjuggler/SyntaxReference_rb.html +0 -75
  385. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +0 -67
  386. data/doc/lib/taskjuggler/TaskDependency_rb.html +0 -67
  387. data/doc/lib/taskjuggler/TaskJuggler_rb.html +0 -75
  388. data/doc/lib/taskjuggler/TaskScenario_rb.html +0 -71
  389. data/doc/lib/taskjuggler/Task_rb.html +0 -71
  390. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +0 -69
  391. data/doc/lib/taskjuggler/TextFormatter_rb.html +0 -69
  392. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +0 -67
  393. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +0 -71
  394. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +0 -69
  395. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +0 -77
  396. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +0 -67
  397. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +0 -67
  398. data/doc/lib/taskjuggler/TextParser/State_rb.html +0 -67
  399. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +0 -67
  400. data/doc/lib/taskjuggler/TextParser_rb.html +0 -79
  401. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +0 -69
  402. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +0 -69
  403. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +0 -69
  404. data/doc/lib/taskjuggler/TimeSheets_rb.html +0 -67
  405. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +0 -79
  406. data/doc/lib/taskjuggler/Tj3Config_rb.html +0 -71
  407. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +0 -69
  408. data/doc/lib/taskjuggler/TjException_rb.html +0 -67
  409. data/doc/lib/taskjuggler/TjTime_rb.html +0 -71
  410. data/doc/lib/taskjuggler/TjpExample_rb.html +0 -69
  411. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +0 -67
  412. data/doc/lib/taskjuggler/URLParameter_rb.html +0 -69
  413. data/doc/lib/taskjuggler/UTF8String_rb.html +0 -69
  414. data/doc/lib/taskjuggler/UserManual_rb.html +0 -81
  415. data/doc/lib/taskjuggler/VimSyntax_rb.html +0 -69
  416. data/doc/lib/taskjuggler/WorkingHours_rb.html +0 -71
  417. data/doc/lib/taskjuggler/XMLDocument_rb.html +0 -69
  418. data/doc/lib/taskjuggler/XMLElement_rb.html +0 -69
  419. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +0 -75
  420. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +0 -75
  421. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +0 -75
  422. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +0 -71
  423. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +0 -71
  424. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +0 -71
  425. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +0 -71
  426. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +0 -71
  427. data/doc/lib/taskjuggler/apps/Tj3_rb.html +0 -71
  428. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +0 -69
  429. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +0 -71
  430. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +0 -83
  431. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +0 -85
  432. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +0 -73
  433. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +0 -69
  434. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +0 -81
  435. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +0 -71
  436. data/doc/lib/taskjuggler/deep_copy_rb.html +0 -67
  437. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +0 -69
  438. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +0 -69
  439. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +0 -69
  440. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +0 -75
  441. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +0 -69
  442. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +0 -67
  443. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +0 -69
  444. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +0 -79
  445. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +0 -69
  446. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +0 -69
  447. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +0 -69
  448. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +0 -69
  449. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +0 -67
  450. data/doc/lib/taskjuggler/reports/ICalReport_rb.html +0 -71
  451. data/doc/lib/taskjuggler/reports/Navigator_rb.html +0 -69
  452. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +0 -71
  453. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +0 -67
  454. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +0 -67
  455. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +0 -67
  456. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +0 -67
  457. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +0 -67
  458. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +0 -69
  459. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +0 -71
  460. data/doc/lib/taskjuggler/reports/Report_rb.html +0 -97
  461. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +0 -75
  462. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +0 -69
  463. data/doc/lib/taskjuggler/reports/TableReport_rb.html +0 -77
  464. data/doc/lib/taskjuggler/reports/TagFile_rb.html +0 -71
  465. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +0 -75
  466. data/doc/lib/taskjuggler/reports/TextReport_rb.html +0 -69
  467. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +0 -69
  468. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +0 -69
  469. data/doc/lib/tj3_rb.html +0 -69
  470. data/doc/lib/tj3client_rb.html +0 -69
  471. data/doc/lib/tj3d_rb.html +0 -69
  472. data/doc/lib/tj3man_rb.html +0 -69
  473. data/doc/lib/tj3ss_receiver_rb.html +0 -69
  474. data/doc/lib/tj3ss_sender_rb.html +0 -69
  475. data/doc/lib/tj3ts_receiver_rb.html +0 -69
  476. data/doc/lib/tj3ts_sender_rb.html +0 -69
  477. data/doc/lib/tj3ts_summary_rb.html +0 -69
  478. data/doc/rdoc.css +0 -706
  479. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +0 -40
  480. data/test/TestSuite/HTML-Reports/CellText.html +0 -758
  481. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
  482. data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
  483. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -245
  484. data/test/TestSuite/HTML-Reports/Query.html +0 -31
  485. data/test/TestSuite/HTML-Reports/depArrows.html +0 -851
  486. data/test/TestSuite/HTML-Reports/profile.html +0 -37581
  487. data/test/TestSuite/Scheduler/Errors/R.html +0 -113
  488. data/test/TestSuite/StatusSheets/dev2.tji +0 -22
  489. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +0 -38
  490. data/test/TestSuite/TimeSheets/resrep.tji +0 -7
  491. data/test/TestSuite/TimeSheets/ts.tji +0 -351
  492. data/test/TestSuite/TimeSheets/tsdef.tji +0 -2
@@ -1,2127 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
-
8
- <title>Class: TaskJuggler::ProjectFileParser</title>
9
-
10
- <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
-
12
- <script src="../js/jquery.js" type="text/javascript"
13
- charset="utf-8"></script>
14
- <script src="../js/thickbox-compressed.js" type="text/javascript"
15
- charset="utf-8"></script>
16
- <script src="../js/quicksearch.js" type="text/javascript"
17
- charset="utf-8"></script>
18
- <script src="../js/darkfish.js" type="text/javascript"
19
- charset="utf-8"></script>
20
-
21
- </head>
22
- <body class="class">
23
-
24
- <div id="metadata">
25
- <div id="home-metadata">
26
- <div id="home-section" class="section">
27
- <h3 class="section-header">
28
- <a href="../index.html">Home</a>
29
- <a href="../index.html#classes">Classes</a>
30
- <a href="../index.html#methods">Methods</a>
31
- </h3>
32
- </div>
33
- </div>
34
-
35
- <div id="file-metadata">
36
- <div id="file-list-section" class="section">
37
- <h3 class="section-header">In Files</h3>
38
- <div class="section-body">
39
- <ul>
40
-
41
- <li><a href="../lib/taskjuggler/ProjectFileParser_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
- class="thickbox" title="lib/taskjuggler/ProjectFileParser.rb">lib/taskjuggler/ProjectFileParser.rb</a></li>
43
-
44
- </ul>
45
- </div>
46
- </div>
47
-
48
-
49
- </div>
50
-
51
- <div id="class-metadata">
52
-
53
- <!-- Parent Class -->
54
-
55
- <div id="parent-class-section" class="section">
56
- <h3 class="section-header">Parent</h3>
57
-
58
- <p class="link"><a href="TextParser.html">TaskJuggler::TextParser</a></p>
59
-
60
- </div>
61
-
62
-
63
- <!-- Namespace Contents -->
64
-
65
-
66
- <!-- Method Quickref -->
67
-
68
- <div id="method-list-section" class="section">
69
- <h3 class="section-header">Methods</h3>
70
- <ul class="link-list">
71
-
72
- <li><a href="#method-c-new">::new</a></li>
73
-
74
- <li><a href="#method-i-allOrNothingListRule">#allOrNothingListRule</a></li>
75
-
76
- <li><a href="#method-i-also">#also</a></li>
77
-
78
- <li><a href="#method-i-arg">#arg</a></li>
79
-
80
- <li><a href="#method-i-checkBooking">#checkBooking</a></li>
81
-
82
- <li><a href="#method-i-checkContainer">#checkContainer</a></li>
83
-
84
- <li><a href="#method-i-checkInterval">#checkInterval</a></li>
85
-
86
- <li><a href="#method-i-close">#close</a></li>
87
-
88
- <li><a href="#method-i-columnTitle">#columnTitle</a></li>
89
-
90
- <li><a href="#method-i-commaListRule">#commaListRule</a></li>
91
-
92
- <li><a href="#method-i-descr">#descr</a></li>
93
-
94
- <li><a href="#method-i-doc">#doc</a></li>
95
-
96
- <li><a href="#method-i-example">#example</a></li>
97
-
98
- <li><a href="#method-i-extendPropertySetDefinition">#extendPropertySetDefinition</a></li>
99
-
100
- <li><a href="#method-i-initFileStack">#initFileStack</a></li>
101
-
102
- <li><a href="#method-i-lastSyntaxToken">#lastSyntaxToken</a></li>
103
-
104
- <li><a href="#method-i-listRule">#listRule</a></li>
105
-
106
- <li><a href="#method-i-newReport">#newReport</a></li>
107
-
108
- <li><a href="#method-i-newRichText">#newRichText</a></li>
109
-
110
- <li><a href="#method-i-nextToken">#nextToken</a></li>
111
-
112
- <li><a href="#method-i-open">#open</a></li>
113
-
114
- <li><a href="#method-i-optionsRule">#optionsRule</a></li>
115
-
116
- <li><a href="#method-i-parseReportAttributes">#parseReportAttributes</a></li>
117
-
118
- <li><a href="#method-i-popFileStack">#popFileStack</a></li>
119
-
120
- <li><a href="#method-i-pushFileStack">#pushFileStack</a></li>
121
-
122
- <li><a href="#method-i-returnToken">#returnToken</a></li>
123
-
124
- <li><a href="#method-i-setDurationAttribute">#setDurationAttribute</a></li>
125
-
126
- <li><a href="#method-i-setGlobalMacros">#setGlobalMacros</a></li>
127
-
128
- <li><a href="#method-i-setLimit">#setLimit</a></li>
129
-
130
- <li><a href="#method-i-singlePattern">#singlePattern</a></li>
131
-
132
- <li><a href="#method-i-weekDay">#weekDay</a></li>
133
-
134
- </ul>
135
- </div>
136
-
137
-
138
- <!-- Included Modules -->
139
-
140
- <div id="includes-section" class="section">
141
- <h3 class="section-header">Included Modules</h3>
142
- <ul class="link-list">
143
-
144
-
145
- <li><span class="include">TjpSyntaxRules</span></li>
146
-
147
-
148
- </ul>
149
- </div>
150
-
151
- </div>
152
-
153
- <div id="project-metadata">
154
-
155
-
156
- <div id="fileindex-section" class="section project-section">
157
- <h3 class="section-header">Files</h3>
158
- <ul>
159
-
160
- <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
161
-
162
- <li class="file"><a href="../COPYING.html">COPYING</a></li>
163
-
164
- <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
165
-
166
- </ul>
167
- </div>
168
-
169
-
170
- <div id="classindex-section" class="section project-section">
171
- <h3 class="section-header">Class Index
172
- <span class="search-toggle"><img src="../images/find.png"
173
- height="16" width="16" alt="[+]"
174
- title="show/hide quicksearch" /></span></h3>
175
- <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
176
- <fieldset>
177
- <legend>Quicksearch</legend>
178
- <input type="text" name="quicksearch" value=""
179
- class="quicksearch-field" />
180
- </fieldset>
181
- </form>
182
-
183
- <ul class="link-list">
184
-
185
- <li><a href="../TaskJuggler.html">TaskJuggler</a></li>
186
-
187
- <li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
188
-
189
- <li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
190
-
191
- <li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
192
-
193
- <li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
194
-
195
- <li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
196
-
197
- <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
198
-
199
- <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
200
-
201
- <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
202
-
203
- <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
204
-
205
- <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
206
-
207
- <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
208
-
209
- <li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
210
-
211
- <li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
212
-
213
- <li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
214
-
215
- <li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
216
-
217
- <li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
218
-
219
- <li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
220
-
221
- <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
222
-
223
- <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
224
-
225
- <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
226
-
227
- <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
228
-
229
- <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
230
-
231
- <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
232
-
233
- <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
234
-
235
- <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
236
-
237
- <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
238
-
239
- <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
240
-
241
- <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
242
-
243
- <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
244
-
245
- <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
246
-
247
- <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
248
-
249
- <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
250
-
251
- <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
252
-
253
- <li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
254
-
255
- <li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
256
-
257
- <li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
258
-
259
- <li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
260
-
261
- <li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
262
-
263
- <li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
264
-
265
- <li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
266
-
267
- <li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
268
-
269
- <li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
270
-
271
- <li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
272
-
273
- <li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
274
-
275
- <li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
276
-
277
- <li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
278
-
279
- <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
280
-
281
- <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
282
-
283
- <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
284
-
285
- <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
286
-
287
- <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
288
-
289
- <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
290
-
291
- <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
292
-
293
- <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
294
-
295
- <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
296
-
297
- <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
298
-
299
- <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
300
-
301
- <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
302
-
303
- <li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
304
-
305
- <li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
306
-
307
- <li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
308
-
309
- <li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
310
-
311
- <li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
312
-
313
- <li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
314
-
315
- <li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
316
-
317
- <li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
318
-
319
- <li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
320
-
321
- <li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
322
-
323
- <li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
324
-
325
- <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
326
-
327
- <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
328
-
329
- <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
330
-
331
- <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
332
-
333
- <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
334
-
335
- <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
336
-
337
- <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
338
-
339
- <li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
340
-
341
- <li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
342
-
343
- <li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
344
-
345
- <li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
346
-
347
- <li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
348
-
349
- <li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
350
-
351
- <li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
352
-
353
- <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
354
-
355
- <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
356
-
357
- <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
358
-
359
- <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
360
-
361
- <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
362
-
363
- <li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
364
-
365
- <li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
366
-
367
- <li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
368
-
369
- <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
370
-
371
- <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
372
-
373
- <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
374
-
375
- <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
376
-
377
- <li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
378
-
379
- <li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
380
-
381
- <li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
382
-
383
- <li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
384
-
385
- <li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
386
-
387
- <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
388
-
389
- <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
390
-
391
- <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
392
-
393
- <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
394
-
395
- <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
396
-
397
- <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
398
-
399
- <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
400
-
401
- <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
402
-
403
- <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
404
-
405
- <li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
406
-
407
- <li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
408
-
409
- <li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
410
-
411
- <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
412
-
413
- <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
414
-
415
- <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
416
-
417
- <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
418
-
419
- <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
420
-
421
- <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
422
-
423
- <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
424
-
425
- <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
426
-
427
- <li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
428
-
429
- <li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
430
-
431
- <li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
432
-
433
- <li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
434
-
435
- <li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
436
-
437
- <li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
438
-
439
- <li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
440
-
441
- <li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
442
-
443
- <li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
444
-
445
- <li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
446
-
447
- <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
448
-
449
- <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
450
-
451
- <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
452
-
453
- <li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
454
-
455
- <li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
456
-
457
- <li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
458
-
459
- <li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
460
-
461
- <li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
462
-
463
- <li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
464
-
465
- <li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
466
-
467
- <li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
468
-
469
- <li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
470
-
471
- <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
472
-
473
- <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
474
-
475
- <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
476
-
477
- <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
478
-
479
- <li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
480
-
481
- <li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
482
-
483
- <li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
484
-
485
- <li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
486
-
487
- <li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
488
-
489
- <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
490
-
491
- <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
492
-
493
- <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
494
-
495
- <li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
496
-
497
- <li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
498
-
499
- <li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
500
-
501
- <li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
502
-
503
- <li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
504
-
505
- <li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
506
-
507
- <li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
508
-
509
- <li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
510
-
511
- <li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
512
-
513
- <li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
514
-
515
- <li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
516
-
517
- <li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
518
-
519
- <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
520
-
521
- <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
522
-
523
- <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
524
-
525
- <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
526
-
527
- <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
528
-
529
- <li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
530
-
531
- <li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
532
-
533
- <li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
534
-
535
- <li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
536
-
537
- <li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
538
-
539
- <li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
540
-
541
- <li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
542
-
543
- <li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
544
-
545
- <li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
546
-
547
- <li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
548
-
549
- <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
550
-
551
- <li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
552
-
553
- <li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
554
-
555
- <li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
556
-
557
- <li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
558
-
559
- <li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
560
-
561
- <li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
562
-
563
- <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
564
-
565
- <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
566
-
567
- <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
568
-
569
- <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
570
-
571
- <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
572
-
573
- <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
574
-
575
- <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
576
-
577
- <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
578
-
579
- <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
580
-
581
- <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
582
-
583
- <li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
584
-
585
- <li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
586
-
587
- <li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
588
-
589
- <li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
590
-
591
- <li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
592
-
593
- <li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
594
-
595
- <li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
596
-
597
- <li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
598
-
599
- <li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
600
-
601
- <li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
602
-
603
- <li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
604
-
605
- <li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
606
-
607
- <li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
608
-
609
- <li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
610
-
611
- <li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
612
-
613
- <li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
614
-
615
- <li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
616
-
617
- <li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
618
-
619
- <li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
620
-
621
- <li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
622
-
623
- <li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
624
-
625
- <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
626
-
627
- <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
628
-
629
- <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
630
-
631
- <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
632
-
633
- <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
634
-
635
- <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
636
-
637
- <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
638
-
639
- <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
640
-
641
- <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
642
-
643
- <li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
644
-
645
- <li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
646
-
647
- <li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
648
-
649
- <li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
650
-
651
- <li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
652
-
653
- <li><a href="../Diff.html">Diff</a></li>
654
-
655
- <li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
656
-
657
- <li><a href="../AppConfig.html">AppConfig</a></li>
658
-
659
- <li><a href="../Diffable.html">Diffable</a></li>
660
-
661
- <li><a href="../DiffableString.html">DiffableString</a></li>
662
-
663
- <li><a href="../Object.html">Object</a></li>
664
-
665
- <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
666
-
667
- <li><a href="../String.html">String</a></li>
668
-
669
- </ul>
670
- <div id="no-class-search-results" style="display: none;">No matching classes.</div>
671
- </div>
672
-
673
-
674
- </div>
675
- </div>
676
-
677
- <div id="documentation">
678
- <h1 class="class">TaskJuggler::ProjectFileParser</h1>
679
-
680
- <div id="description">
681
- <p>
682
- This class specializes the <a href="TextParser.html">TextParser</a> class
683
- for use with <a href="../TaskJuggler.html">TaskJuggler</a> project files
684
- (TJP Files). The primary purpose is to provide functionality that make it
685
- more comfortable to define the <a
686
- href="../TaskJuggler.html">TaskJuggler</a> syntax in a form that is human
687
- creatable but also powerful enough to define the data structures the parser
688
- needs to understand the syntax.
689
- </p>
690
- <p>
691
- By adding some additional information to the syntax rules, we can also
692
- generate the complete reference manual from this rule set.
693
- </p>
694
-
695
- </div>
696
-
697
- <!-- Constants -->
698
-
699
-
700
- <!-- Attributes -->
701
-
702
-
703
- <!-- Methods -->
704
-
705
- <div id="public-class-method-details" class="method-section section">
706
- <h3 class="section-header">Public Class Methods</h3>
707
-
708
-
709
- <div id="new-method" class="method-detail ">
710
- <a name="method-c-new"></a>
711
-
712
- <div class="method-heading">
713
-
714
- <span class="method-name">new</span><span
715
- class="method-args">(messageHandler)</span>
716
- <span class="method-click-advice">click to toggle source</span>
717
-
718
- </div>
719
-
720
- <div class="method-description">
721
-
722
- <p>
723
- Create the parser object. <em>messageHandler</em> is a TjMessageHandler
724
- that is used for error reporting.
725
- </p>
726
-
727
-
728
-
729
- <div class="method-source-code"
730
- id="new-source">
731
- <pre>
732
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 36</span>
733
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">messageHandler</span>)
734
- 37: <span class="ruby-keyword kw">super</span>
735
- 38:
736
- 39: <span class="ruby-ivar">@tjMessageHandler</span> = <span class="ruby-identifier">messageHandler</span>
737
- 40:
738
- 41: <span class="ruby-comment cmt"># Define the token types that the ProjectFileScanner may return for</span>
739
- 42: <span class="ruby-comment cmt"># variable elements.</span>
740
- 43: <span class="ruby-ivar">@variables</span> = [ <span class="ruby-value">:INTEGER</span>, <span class="ruby-value">:FLOAT</span>, <span class="ruby-value">:DATE</span>, <span class="ruby-value">:TIME</span>, <span class="ruby-value">:STRING</span>, <span class="ruby-value">:LITERAL</span>,
741
- 44: <span class="ruby-value">:ID</span>, <span class="ruby-value">:ID_WITH_COLON</span>, <span class="ruby-value">:ABSOLUTE_ID</span>, <span class="ruby-value">:MACRO</span> ]
742
- 45:
743
- 46: <span class="ruby-identifier">initRules</span>
744
- 47: <span class="ruby-identifier">updateParserTables</span>
745
- 48:
746
- 49: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
747
- 50: <span class="ruby-keyword kw">end</span></pre>
748
- </div>
749
-
750
- </div>
751
-
752
-
753
-
754
-
755
- </div>
756
-
757
-
758
- </div>
759
-
760
- <div id="public-instance-method-details" class="method-section section">
761
- <h3 class="section-header">Public Instance Methods</h3>
762
-
763
-
764
- <div id="close-method" class="method-detail ">
765
- <a name="method-i-close"></a>
766
-
767
- <div class="method-heading">
768
-
769
- <span class="method-name">close</span><span
770
- class="method-args">()</span>
771
- <span class="method-click-advice">click to toggle source</span>
772
-
773
- </div>
774
-
775
- <div class="method-description">
776
-
777
- <p>
778
- Call this function to cleanup the parser structures after the file
779
- processing has been completed.
780
- </p>
781
-
782
-
783
-
784
- <div class="method-source-code"
785
- id="close-source">
786
- <pre>
787
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 70</span>
788
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
789
- 71: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">close</span>
790
- 72: <span class="ruby-keyword kw">end</span></pre>
791
- </div>
792
-
793
- </div>
794
-
795
-
796
-
797
-
798
- </div>
799
-
800
-
801
- <div id="next-oken-method" class="method-detail ">
802
- <a name="method-i-nextToken"></a>
803
-
804
- <div class="method-heading">
805
-
806
- <span class="method-name">nextToken</span><span
807
- class="method-args">()</span>
808
- <span class="method-click-advice">click to toggle source</span>
809
-
810
- </div>
811
-
812
- <div class="method-description">
813
-
814
- <p>
815
- This function will deliver the next token from the scanner. A token is a
816
- two element Array that contains the ID or type of the token as well as the
817
- text string of the token.
818
- </p>
819
-
820
-
821
-
822
- <div class="method-source-code"
823
- id="next-oken-source">
824
- <pre>
825
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 77</span>
826
- 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
827
- 78: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">nextToken</span>
828
- 79: <span class="ruby-keyword kw">end</span></pre>
829
- </div>
830
-
831
- </div>
832
-
833
-
834
-
835
-
836
- </div>
837
-
838
-
839
- <div id="open-method" class="method-detail ">
840
- <a name="method-i-open"></a>
841
-
842
- <div class="method-heading">
843
-
844
- <span class="method-name">open</span><span
845
- class="method-args">(file, master, fileNameIsBuffer = false)</span>
846
- <span class="method-click-advice">click to toggle source</span>
847
-
848
- </div>
849
-
850
- <div class="method-description">
851
-
852
- <p>
853
- Call this function with the master file to start processing a TJP file or a
854
- set of TJP files.
855
- </p>
856
-
857
-
858
-
859
- <div class="method-source-code"
860
- id="open-source">
861
- <pre>
862
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 54</span>
863
- 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">master</span>, <span class="ruby-identifier">fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>)
864
- 55: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">ProjectFileScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>, <span class="ruby-ivar">@messageHandler</span>)
865
- 56: <span class="ruby-comment cmt"># We need the ProjectFileScanner object for error reporting.</span>
866
- 57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">master</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">fileNameIsBuffer</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">file</span>[<span class="ruby-value">4</span>, <span class="ruby-value">4</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'.tjp'</span>
867
- 58: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'illegal_extension'</span>, <span class="ruby-value str">&quot;Project file name must end with &quot;</span> <span class="ruby-operator">+</span>
868
- 59: <span class="ruby-value str">'\.tjp\ extension'</span>)
869
- 60: <span class="ruby-keyword kw">end</span>
870
- 61: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileNameIsBuffer</span>)
871
- 62:
872
- 63: <span class="ruby-ivar">@property</span> = <span class="ruby-keyword kw">nil</span>
873
- 64: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-value">0</span>
874
- 65: <span class="ruby-identifier">initFileStack</span>
875
- 66: <span class="ruby-keyword kw">end</span></pre>
876
- </div>
877
-
878
- </div>
879
-
880
-
881
-
882
-
883
- </div>
884
-
885
-
886
- <div id="parse-eport-ttributes-method" class="method-detail ">
887
- <a name="method-i-parseReportAttributes"></a>
888
-
889
- <div class="method-heading">
890
-
891
- <span class="method-name">parseReportAttributes</span><span
892
- class="method-args">(report, attributes)</span>
893
- <span class="method-click-advice">click to toggle source</span>
894
-
895
- </div>
896
-
897
- <div class="method-description">
898
-
899
-
900
-
901
-
902
-
903
- <div class="method-source-code"
904
- id="parse-eport-ttributes-source">
905
- <pre>
906
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 104</span>
907
- 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parseReportAttributes</span>(<span class="ruby-identifier">report</span>, <span class="ruby-identifier">attributes</span>)
908
- 105: <span class="ruby-identifier">open</span>(<span class="ruby-identifier">attributes</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
909
- 106: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">report</span>
910
- 107: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">project</span>
911
- 108: <span class="ruby-identifier">parse</span>(<span class="ruby-value">:reportAttributes</span>)
912
- 109: <span class="ruby-keyword kw">end</span></pre>
913
- </div>
914
-
915
- </div>
916
-
917
-
918
-
919
-
920
- </div>
921
-
922
-
923
- <div id="return-oken-method" class="method-detail ">
924
- <a name="method-i-returnToken"></a>
925
-
926
- <div class="method-heading">
927
-
928
- <span class="method-name">returnToken</span><span
929
- class="method-args">(token)</span>
930
- <span class="method-click-advice">click to toggle source</span>
931
-
932
- </div>
933
-
934
- <div class="method-description">
935
-
936
- <p>
937
- This function can be used to return tokens. Returned tokens will be pushed
938
- on a LIFO stack. To preserve the order of the original tokens the last
939
- token must be returned first. This mechanism is used to implement
940
- look-ahead functionality.
941
- </p>
942
-
943
-
944
-
945
- <div class="method-source-code"
946
- id="return-oken-source">
947
- <pre>
948
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 85</span>
949
- 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
950
- 86: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
951
- 87: <span class="ruby-keyword kw">end</span></pre>
952
- </div>
953
-
954
- </div>
955
-
956
-
957
-
958
-
959
- </div>
960
-
961
-
962
- <div id="set-lobal-acros-method" class="method-detail ">
963
- <a name="method-i-setGlobalMacros"></a>
964
-
965
- <div class="method-heading">
966
-
967
- <span class="method-name">setGlobalMacros</span><span
968
- class="method-args">()</span>
969
- <span class="method-click-advice">click to toggle source</span>
970
-
971
- </div>
972
-
973
- <div class="method-description">
974
-
975
- <p>
976
- A set of standard marcros is defined in all files as soon as the project
977
- header has been read. Calling this functions gets the values from @project
978
- and inserts the Macro objects into the <a
979
- href="ProjectFileScanner.html">ProjectFileScanner</a>.
980
- </p>
981
-
982
-
983
-
984
- <div class="method-source-code"
985
- id="set-lobal-acros-source">
986
- <pre>
987
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 92</span>
988
- 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setGlobalMacros</span>
989
- 93: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'projectstart'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>].<span class="ruby-identifier">to_s</span>,
990
- 94: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
991
- 95: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'projectend'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>].<span class="ruby-identifier">to_s</span>,
992
- 96: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
993
- 97: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'now'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>].<span class="ruby-identifier">to_s</span>,
994
- 98: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
995
- 99: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'today'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>].
996
- 100: <span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'timeFormat'</span>]),
997
- 101: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
998
- 102: <span class="ruby-keyword kw">end</span></pre>
999
- </div>
1000
-
1001
- </div>
1002
-
1003
-
1004
-
1005
-
1006
- </div>
1007
-
1008
-
1009
- </div>
1010
-
1011
- <div id="private-instance-method-details" class="method-section section">
1012
- <h3 class="section-header">Private Instance Methods</h3>
1013
-
1014
-
1015
- <div id="all-r-othing-ist-ule-method" class="method-detail ">
1016
- <a name="method-i-allOrNothingListRule"></a>
1017
-
1018
- <div class="method-heading">
1019
-
1020
- <span class="method-name">allOrNothingListRule</span><span
1021
- class="method-args">(name, items)</span>
1022
- <span class="method-click-advice">click to toggle source</span>
1023
-
1024
- </div>
1025
-
1026
- <div class="method-description">
1027
-
1028
- <p>
1029
- This function creates a set of rules to describe a list of keywords.
1030
- <em>name</em> is the name of the top-level rule and <em>items</em> can be a
1031
- Hash or Array. The array just contains the allowed keywords, the Hash
1032
- contains keyword/description pairs. The description is used to describe the
1033
- keyword in the manual. The syntax supports two special cases. A
1034
- &#8217;*&#8217; means all items in the list and &#8217;-&#8217; means the
1035
- list is empty.
1036
- </p>
1037
-
1038
-
1039
-
1040
- <div class="method-source-code"
1041
- id="all-r-othing-ist-ule-source">
1042
- <pre>
1043
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 296</span>
1044
- 296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allOrNothingListRule</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">items</span>)
1045
- 297: <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>) {
1046
- 298: <span class="ruby-comment cmt"># A '*' means all possible items should be in the list.</span>
1047
- 299: <span class="ruby-identifier">pattern</span>(<span class="ruby-node">%( _* )</span>, <span class="ruby-identifier">lambda</span> {
1048
- 300: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ])
1049
- 301: })
1050
- 302: <span class="ruby-identifier">descr</span>(<span class="ruby-value str">'A shortcut for all items'</span>)
1051
- 303: <span class="ruby-comment cmt"># A '-' means the list should be empty.</span>
1052
- 304: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_-'</span> ], <span class="ruby-identifier">lambda</span> {
1053
- 305: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>
1054
- 306: })
1055
- 307: <span class="ruby-identifier">descr</span>(<span class="ruby-value str">'No items'</span>)
1056
- 308: <span class="ruby-comment cmt"># Or the list consists of one or more comma separated keywords.</span>
1057
- 309: <span class="ruby-identifier">pattern</span>([ <span class="ruby-node">&quot;!#{name}_AoN_ruleItems&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1058
- 310: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])
1059
- 311: })
1060
- 312: }
1061
- 313: <span class="ruby-comment cmt"># Create the rule for the comma separated list.</span>
1062
- 314: <span class="ruby-identifier">newRule</span>(<span class="ruby-node">&quot;#{name}_AoN_ruleItems&quot;</span>) {
1063
- 315: <span class="ruby-identifier">listRule</span>(<span class="ruby-node">&quot;more#{name}_AoN_ruleItems&quot;</span>, <span class="ruby-node">&quot;!#{name}_AoN_ruleItem&quot;</span>)
1064
- 316: }
1065
- 317: <span class="ruby-comment cmt"># Create the rule for the keywords with their description.</span>
1066
- 318: <span class="ruby-identifier">newRule</span>(<span class="ruby-node">&quot;#{name}_AoN_ruleItem&quot;</span>) {
1067
- 319: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">items</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1068
- 320: <span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span><span class="ruby-operator">|</span> <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>) }
1069
- 321: <span class="ruby-keyword kw">else</span>
1070
- 322: <span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">description</span><span class="ruby-operator">|</span>
1071
- 323: <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>)
1072
- 324: <span class="ruby-identifier">descr</span>(<span class="ruby-identifier">description</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">description</span>
1073
- 325: <span class="ruby-keyword kw">end</span>
1074
- 326: <span class="ruby-keyword kw">end</span>
1075
- 327: }
1076
- 328: <span class="ruby-keyword kw">end</span></pre>
1077
- </div>
1078
-
1079
- </div>
1080
-
1081
-
1082
-
1083
-
1084
- </div>
1085
-
1086
-
1087
- <div id="also-method" class="method-detail ">
1088
- <a name="method-i-also"></a>
1089
-
1090
- <div class="method-heading">
1091
-
1092
- <span class="method-name">also</span><span
1093
- class="method-args">(seeAlso)</span>
1094
- <span class="method-click-advice">click to toggle source</span>
1095
-
1096
- </div>
1097
-
1098
- <div class="method-description">
1099
-
1100
- <p>
1101
- Add a reference to another pattern. This information is only used to
1102
- generate the documentation for the patterns of this rule.
1103
- </p>
1104
-
1105
-
1106
-
1107
- <div class="method-source-code"
1108
- id="also-source">
1109
- <pre>
1110
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 399</span>
1111
- 399: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">also</span>(<span class="ruby-identifier">seeAlso</span>)
1112
- 400: <span class="ruby-identifier">seeAlso</span> = [ <span class="ruby-identifier">seeAlso</span> ] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1113
- 401: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">seeAlso</span>)
1114
- 402: <span class="ruby-keyword kw">end</span></pre>
1115
- </div>
1116
-
1117
- </div>
1118
-
1119
-
1120
-
1121
-
1122
- </div>
1123
-
1124
-
1125
- <div id="arg-method" class="method-detail ">
1126
- <a name="method-i-arg"></a>
1127
-
1128
- <div class="method-heading">
1129
-
1130
- <span class="method-name">arg</span><span
1131
- class="method-args">(idx, name, text)</span>
1132
- <span class="method-click-advice">click to toggle source</span>
1133
-
1134
- </div>
1135
-
1136
- <div class="method-description">
1137
-
1138
- <p>
1139
- Add documentation for the arguments with index <em>idx</em> of the current
1140
- pattern of the currently processed rule. <em>name</em> is that should be
1141
- used for this variable. <em>text</em> is the documentation text.
1142
- </p>
1143
-
1144
-
1145
-
1146
- <div class="method-source-code"
1147
- id="arg-source">
1148
- <pre>
1149
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 387</span>
1150
- 387: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">text</span>)
1151
- 388: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">TokenDoc</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">text</span>))
1152
- 389: <span class="ruby-keyword kw">end</span></pre>
1153
- </div>
1154
-
1155
- </div>
1156
-
1157
-
1158
-
1159
-
1160
- </div>
1161
-
1162
-
1163
- <div id="check-ooking-method" class="method-detail ">
1164
- <a name="method-i-checkBooking"></a>
1165
-
1166
- <div class="method-heading">
1167
-
1168
- <span class="method-name">checkBooking</span><span
1169
- class="method-args">(task, resource)</span>
1170
- <span class="method-click-advice">click to toggle source</span>
1171
-
1172
- </div>
1173
-
1174
- <div class="method-description">
1175
-
1176
- <p>
1177
- Convenience function to check the integrity of a booking statement.
1178
- </p>
1179
-
1180
-
1181
-
1182
- <div class="method-source-code"
1183
- id="check-ooking-source">
1184
- <pre>
1185
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 152</span>
1186
- 152: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkBooking</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">resource</span>)
1187
- 153: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">leaf?</span>
1188
- 154: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_no_leaf'</span>, <span class="ruby-node">&quot;#{task.fullId} is not a leaf task&quot;</span>,
1189
- 155: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">task</span>)
1190
- 156: <span class="ruby-keyword kw">end</span>
1191
- 157: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>[<span class="ruby-value str">'milestone'</span>, <span class="ruby-ivar">@scenarioIdx</span>]
1192
- 158: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_milestone'</span>, <span class="ruby-value str">&quot;You cannot add bookings to a milestone&quot;</span>,
1193
- 159: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">task</span>)
1194
- 160: <span class="ruby-keyword kw">end</span>
1195
- 161: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">leaf?</span>
1196
- 162: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_group'</span>, <span class="ruby-value str">&quot;You cannot book a group resource&quot;</span>,
1197
- 163: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">task</span>)
1198
- 164: <span class="ruby-keyword kw">end</span>
1199
- 165: <span class="ruby-keyword kw">end</span></pre>
1200
- </div>
1201
-
1202
- </div>
1203
-
1204
-
1205
-
1206
-
1207
- </div>
1208
-
1209
-
1210
- <div id="check-ontainer-method" class="method-detail ">
1211
- <a name="method-i-checkContainer"></a>
1212
-
1213
- <div class="method-heading">
1214
-
1215
- <span class="method-name">checkContainer</span><span
1216
- class="method-args">(attribute)</span>
1217
- <span class="method-click-advice">click to toggle source</span>
1218
-
1219
- </div>
1220
-
1221
- <div class="method-description">
1222
-
1223
- <p>
1224
- Make sure that certain attributes are not used after sub properties have
1225
- been added to a property.
1226
- </p>
1227
-
1228
-
1229
-
1230
- <div class="method-source-code"
1231
- id="check-ontainer-source">
1232
- <pre>
1233
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 126</span>
1234
- 126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkContainer</span>(<span class="ruby-identifier">attribute</span>)
1235
- 127: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
1236
- 128: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'container_attribute'</span>,
1237
- 129: <span class="ruby-node">&quot;The attribute #{attribute} may not be used for this property &quot;</span> <span class="ruby-operator">+</span>
1238
- 130: <span class="ruby-value str">'after sub properties have been added.'</span>, <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>],
1239
- 131: <span class="ruby-ivar">@property</span>)
1240
- 132: <span class="ruby-keyword kw">end</span>
1241
- 133: <span class="ruby-keyword kw">end</span></pre>
1242
- </div>
1243
-
1244
- </div>
1245
-
1246
-
1247
-
1248
-
1249
- </div>
1250
-
1251
-
1252
- <div id="check-nterval-method" class="method-detail ">
1253
- <a name="method-i-checkInterval"></a>
1254
-
1255
- <div class="method-heading">
1256
-
1257
- <span class="method-name">checkInterval</span><span
1258
- class="method-args">(iv)</span>
1259
- <span class="method-click-advice">click to toggle source</span>
1260
-
1261
- </div>
1262
-
1263
- <div class="method-description">
1264
-
1265
- <p>
1266
- Convenience function to check that an <a
1267
- href="TimeInterval.html">TimeInterval</a> fits completely within the
1268
- project time frame.
1269
- </p>
1270
-
1271
-
1272
-
1273
- <div class="method-source-code"
1274
- id="check-nterval-source">
1275
- <pre>
1276
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 137</span>
1277
- 137: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkInterval</span>(<span class="ruby-identifier">iv</span>)
1278
- 138: <span class="ruby-comment cmt"># Make sure the interval is within the project time frame.</span>
1279
- 139: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
1280
- 140: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'interval_start_in_range'</span>,
1281
- 141: <span class="ruby-node">&quot;Start date #{iv.start} must be within the project time frame &quot;</span> <span class="ruby-operator">+</span>
1282
- 142: <span class="ruby-node">&quot;(#{@project['start']} - #{@project['end']})&quot;</span>)
1283
- 143: <span class="ruby-keyword kw">end</span>
1284
- 144: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
1285
- 145: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'interval_end_in_range'</span>,
1286
- 146: <span class="ruby-node">&quot;End date #{iv.end} must be within the project time frame &quot;</span> <span class="ruby-operator">+</span>
1287
- 147: <span class="ruby-node">&quot;(#{@project['start']} - #{@project['end']})&quot;</span>)
1288
- 148: <span class="ruby-keyword kw">end</span>
1289
- 149: <span class="ruby-keyword kw">end</span></pre>
1290
- </div>
1291
-
1292
- </div>
1293
-
1294
-
1295
-
1296
-
1297
- </div>
1298
-
1299
-
1300
- <div id="column-itle-method" class="method-detail ">
1301
- <a name="method-i-columnTitle"></a>
1302
-
1303
- <div class="method-heading">
1304
-
1305
- <span class="method-name">columnTitle</span><span
1306
- class="method-args">(colId)</span>
1307
- <span class="method-click-advice">click to toggle source</span>
1308
-
1309
- </div>
1310
-
1311
- <div class="method-description">
1312
-
1313
- <p>
1314
- Determine the title of the column with the ID <em>colId</em>. The title may
1315
- be from the static set or be from a user defined attribute.
1316
- </p>
1317
-
1318
-
1319
-
1320
- <div class="method-source-code"
1321
- id="column-itle-source">
1322
- <pre>
1323
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 412</span>
1324
- 412: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columnTitle</span>(<span class="ruby-identifier">colId</span>)
1325
- 413: <span class="ruby-constant">TableReport</span>.<span class="ruby-identifier">defaultColumnTitle</span>(<span class="ruby-identifier">colId</span>) <span class="ruby-operator">||</span>
1326
- 414: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">colId</span>)
1327
- 415: <span class="ruby-keyword kw">end</span></pre>
1328
- </div>
1329
-
1330
- </div>
1331
-
1332
-
1333
-
1334
-
1335
- </div>
1336
-
1337
-
1338
- <div id="comma-ist-ule-method" class="method-detail ">
1339
- <a name="method-i-commaListRule"></a>
1340
-
1341
- <div class="method-heading">
1342
-
1343
- <span class="method-name">commaListRule</span><span
1344
- class="method-args">(listItem)</span>
1345
- <span class="method-click-advice">click to toggle source</span>
1346
-
1347
- </div>
1348
-
1349
- <div class="method-description">
1350
-
1351
-
1352
-
1353
-
1354
-
1355
- <div class="method-source-code"
1356
- id="comma-ist-ule-source">
1357
- <pre>
1358
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 343</span>
1359
- 343: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">commaListRule</span>(<span class="ruby-identifier">listItem</span>)
1360
- 344: <span class="ruby-identifier">optional</span>
1361
- 345: <span class="ruby-identifier">repeatable</span>
1362
- 346: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_,'</span>, <span class="ruby-node">&quot;#{listItem}&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1363
- 347: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>]
1364
- 348: })
1365
- 349: <span class="ruby-keyword kw">end</span></pre>
1366
- </div>
1367
-
1368
- </div>
1369
-
1370
-
1371
-
1372
-
1373
- </div>
1374
-
1375
-
1376
- <div id="descr-method" class="method-detail ">
1377
- <a name="method-i-descr"></a>
1378
-
1379
- <div class="method-heading">
1380
-
1381
- <span class="method-name">descr</span><span
1382
- class="method-args">(text)</span>
1383
- <span class="method-click-advice">click to toggle source</span>
1384
-
1385
- </div>
1386
-
1387
- <div class="method-description">
1388
-
1389
- <p>
1390
- Add documentation for patterns that only consists of a single terminal
1391
- token.
1392
- </p>
1393
-
1394
-
1395
-
1396
- <div class="method-source-code"
1397
- id="descr-source">
1398
- <pre>
1399
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 375</span>
1400
- 375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">descr</span>(<span class="ruby-identifier">text</span>)
1401
- 376: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span>
1402
- 377: (<span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">:literal</span> <span class="ruby-operator">&amp;&amp;</span>
1403
- 378: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">:variable</span>)
1404
- 379: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'descr() may only be used for patterns with terminal tokens.'</span>
1405
- 380: <span class="ruby-keyword kw">end</span>
1406
- 381: <span class="ruby-identifier">arg</span>(<span class="ruby-value">0</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">text</span>)
1407
- 382: <span class="ruby-keyword kw">end</span></pre>
1408
- </div>
1409
-
1410
- </div>
1411
-
1412
-
1413
-
1414
-
1415
- </div>
1416
-
1417
-
1418
- <div id="doc-method" class="method-detail ">
1419
- <a name="method-i-doc"></a>
1420
-
1421
- <div class="method-heading">
1422
-
1423
- <span class="method-name">doc</span><span
1424
- class="method-args">(keyword, text)</span>
1425
- <span class="method-click-advice">click to toggle source</span>
1426
-
1427
- </div>
1428
-
1429
- <div class="method-description">
1430
-
1431
- <p>
1432
- Add documentation for the current pattern of the currently processed rule.
1433
- </p>
1434
-
1435
-
1436
-
1437
- <div class="method-source-code"
1438
- id="doc-source">
1439
- <pre>
1440
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 369</span>
1441
- 369: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">doc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">text</span>)
1442
- 370: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">text</span>)
1443
- 371: <span class="ruby-keyword kw">end</span></pre>
1444
- </div>
1445
-
1446
- </div>
1447
-
1448
-
1449
-
1450
-
1451
- </div>
1452
-
1453
-
1454
- <div id="example-method" class="method-detail ">
1455
- <a name="method-i-example"></a>
1456
-
1457
- <div class="method-heading">
1458
-
1459
- <span class="method-name">example</span><span
1460
- class="method-args">(file, tag = nil)</span>
1461
- <span class="method-click-advice">click to toggle source</span>
1462
-
1463
- </div>
1464
-
1465
- <div class="method-description">
1466
-
1467
- <p>
1468
- Add a TJP file or parts of it as an example. The TJP <em>file</em> must be
1469
- in the directory test/TestSuite/Syntax/Correct. <em>tag</em> can be used to
1470
- identify that only a part of the file should be included.
1471
- </p>
1472
-
1473
-
1474
-
1475
- <div class="method-source-code"
1476
- id="example-source">
1477
- <pre>
1478
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 407</span>
1479
- 407: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">example</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">nil</span>)
1480
- 408: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1481
- 409: <span class="ruby-keyword kw">end</span></pre>
1482
- </div>
1483
-
1484
- </div>
1485
-
1486
-
1487
-
1488
-
1489
- </div>
1490
-
1491
-
1492
- <div id="extend-roperty-et-efinition-method" class="method-detail ">
1493
- <a name="method-i-extendPropertySetDefinition"></a>
1494
-
1495
- <div class="method-heading">
1496
-
1497
- <span class="method-name">extendPropertySetDefinition</span><span
1498
- class="method-args">(type, default)</span>
1499
- <span class="method-click-advice">click to toggle source</span>
1500
-
1501
- </div>
1502
-
1503
- <div class="method-description">
1504
-
1505
- <p>
1506
- The <a href="../TaskJuggler.html">TaskJuggler</a> syntax can be extended by
1507
- the user when the properties are extended with user-defined attributes.
1508
- These attribute definitions introduce keywords that have to be processed
1509
- like the build-in keywords. The parser therefor needs to adapt on the fly
1510
- to the new syntax. By calling this function, a <a
1511
- href="../TaskJuggler.html">TaskJuggler</a> property can be extended with a
1512
- new attribute. @propertySet determines what property should be extended.
1513
- <em>type</em> is the attribute type, <em>default</em> is the default value.
1514
- </p>
1515
-
1516
-
1517
-
1518
- <div class="method-source-code"
1519
- id="extend-roperty-et-efinition-source">
1520
- <pre>
1521
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 174</span>
1522
- 174: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extendPropertySetDefinition</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">default</span>)
1523
- 175: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1524
- 176: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'extend_redefinition'</span>,
1525
- 177: <span class="ruby-node">&quot;The extended attribute #{@val[1]} has already been defined.&quot;</span>)
1526
- 178: <span class="ruby-keyword kw">end</span>
1527
- 179:
1528
- 180: <span class="ruby-comment cmt"># Determine the values for scenarioSpecific and inheritable.</span>
1529
- 181: <span class="ruby-identifier">inherit</span> = <span class="ruby-keyword kw">false</span>
1530
- 182: <span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
1531
- 183: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">nil?</span>
1532
- 184: <span class="ruby-ivar">@val</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
1533
- 185: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">option</span>
1534
- 186: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'inherit'</span>
1535
- 187: <span class="ruby-identifier">inherit</span> = <span class="ruby-keyword kw">true</span>
1536
- 188: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenariospecific'</span>
1537
- 189: <span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span>
1538
- 190: <span class="ruby-keyword kw">end</span>
1539
- 191: <span class="ruby-keyword kw">end</span>
1540
- 192: <span class="ruby-keyword kw">end</span>
1541
- 193: <span class="ruby-comment cmt"># Register the new Attribute type with the Property set it should belong</span>
1542
- 194: <span class="ruby-comment cmt"># to.</span>
1543
- 195: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(
1544
- 196: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>], <span class="ruby-ivar">@val</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">type</span>, <span class="ruby-identifier">inherit</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">scenarioSpecific</span>, <span class="ruby-identifier">default</span>, <span class="ruby-keyword kw">true</span>))
1545
- 197:
1546
- 198: <span class="ruby-comment cmt"># Add the new user-defined attribute as reportable attribute to the parser</span>
1547
- 199: <span class="ruby-comment cmt"># rule.</span>
1548
- 200: <span class="ruby-identifier">oldCurrentRule</span> = <span class="ruby-ivar">@cr</span>
1549
- 201: <span class="ruby-ivar">@cr</span> = <span class="ruby-ivar">@rules</span>[<span class="ruby-value">:reportableAttributes</span>]
1550
- 202: <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1551
- 203: <span class="ruby-identifier">descr</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">2</span>])
1552
- 204: <span class="ruby-ivar">@cr</span> = <span class="ruby-identifier">oldCurrentRule</span>
1553
- 205:
1554
- 206: <span class="ruby-identifier">scenarioSpecific</span>
1555
- 207: <span class="ruby-keyword kw">end</span></pre>
1556
- </div>
1557
-
1558
- </div>
1559
-
1560
-
1561
-
1562
-
1563
- </div>
1564
-
1565
-
1566
- <div id="init-ile-tack-method" class="method-detail ">
1567
- <a name="method-i-initFileStack"></a>
1568
-
1569
- <div class="method-heading">
1570
-
1571
- <span class="method-name">initFileStack</span><span
1572
- class="method-args">()</span>
1573
- <span class="method-click-advice">click to toggle source</span>
1574
-
1575
- </div>
1576
-
1577
- <div class="method-description">
1578
-
1579
- <p>
1580
- To manage certain variables that have file scope throughout a hierachie of
1581
- nested include files, we use a @fileStack to track those variables. The
1582
- values primarily live in their class instance variables. But upon return
1583
- from an included file, we need to restore the old values. This function
1584
- creates or resets the stack.
1585
- </p>
1586
-
1587
-
1588
-
1589
- <div class="method-source-code"
1590
- id="init-ile-tack-source">
1591
- <pre>
1592
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 423</span>
1593
- 423: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initFileStack</span>
1594
- 424: <span class="ruby-ivar">@fileStackVariables</span> = <span class="ruby-node">%( taskprefix reportprefix
1595
- 425: resourceprefix accountprefix )</span>
1596
- 426: <span class="ruby-identifier">stackEntry</span> = {}
1597
- 427: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1598
- 428: <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>] = <span class="ruby-value str">''</span>
1599
- 429: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>, <span class="ruby-value str">''</span>)
1600
- 430: <span class="ruby-keyword kw">end</span>
1601
- 431: <span class="ruby-ivar">@fileStack</span> = [ <span class="ruby-identifier">stackEntry</span> ]
1602
- 432: <span class="ruby-keyword kw">end</span></pre>
1603
- </div>
1604
-
1605
- </div>
1606
-
1607
-
1608
-
1609
-
1610
- </div>
1611
-
1612
-
1613
- <div id="last-yntax-oken-method" class="method-detail ">
1614
- <a name="method-i-lastSyntaxToken"></a>
1615
-
1616
- <div class="method-heading">
1617
-
1618
- <span class="method-name">lastSyntaxToken</span><span
1619
- class="method-args">(idx)</span>
1620
- <span class="method-click-advice">click to toggle source</span>
1621
-
1622
- </div>
1623
-
1624
- <div class="method-description">
1625
-
1626
- <p>
1627
- Restrict the syntax documentation of the previously defined pattern to the
1628
- first <tt>idx</tt> tokens.
1629
- </p>
1630
-
1631
-
1632
-
1633
- <div class="method-source-code"
1634
- id="last-yntax-oken-source">
1635
- <pre>
1636
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 393</span>
1637
- 393: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1638
- 394: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1639
- 395: <span class="ruby-keyword kw">end</span></pre>
1640
- </div>
1641
-
1642
- </div>
1643
-
1644
-
1645
-
1646
-
1647
- </div>
1648
-
1649
-
1650
- <div id="list-ule-method" class="method-detail ">
1651
- <a name="method-i-listRule"></a>
1652
-
1653
- <div class="method-heading">
1654
-
1655
- <span class="method-name">listRule</span><span
1656
- class="method-args">(name, listItem)</span>
1657
- <span class="method-click-advice">click to toggle source</span>
1658
-
1659
- </div>
1660
-
1661
- <div class="method-description">
1662
-
1663
-
1664
-
1665
-
1666
-
1667
- <div class="method-source-code"
1668
- id="list-ule-source">
1669
- <pre>
1670
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 330</span>
1671
- 330: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listRule</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">listItem</span>)
1672
- 331: <span class="ruby-identifier">pattern</span>([ <span class="ruby-node">&quot;#{listItem}&quot;</span>, <span class="ruby-node">&quot;!#{name}&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1673
- 332: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])
1674
- 333: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'duplicate_in_list'</span>,
1675
- 334: <span class="ruby-value str">&quot;Duplicate items in list.&quot;</span>)
1676
- 335: <span class="ruby-keyword kw">end</span>
1677
- 336: [ <span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>] ] <span class="ruby-operator">+</span> (<span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> [] <span class="ruby-operator">:</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1678
- 337: })
1679
- 338: <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>) {
1680
- 339: <span class="ruby-identifier">commaListRule</span>(<span class="ruby-identifier">listItem</span>)
1681
- 340: }
1682
- 341: <span class="ruby-keyword kw">end</span></pre>
1683
- </div>
1684
-
1685
- </div>
1686
-
1687
-
1688
-
1689
-
1690
- </div>
1691
-
1692
-
1693
- <div id="new-eport-method" class="method-detail ">
1694
- <a name="method-i-newReport"></a>
1695
-
1696
- <div class="method-heading">
1697
-
1698
- <span class="method-name">newReport</span><span
1699
- class="method-args">(id, name, type, sourceFileInfo)</span>
1700
- <span class="method-click-advice">click to toggle source</span>
1701
-
1702
- </div>
1703
-
1704
- <div class="method-description">
1705
-
1706
- <p>
1707
- This method is a convenience wrapper around Project.new. It checks if the
1708
- report name already exists. It also triggers the attribute inheritance.
1709
- <tt>name</tt> is the name of the report, <tt>type</tt> is the report type.
1710
- <tt>sourceFileInfo</tt> is a SourceFileInfo of the report definition. The
1711
- method returns the newly created <a href="Report.html">Report</a>.
1712
- </p>
1713
-
1714
-
1715
-
1716
- <div class="method-source-code"
1717
- id="new-eport-source">
1718
- <pre>
1719
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 239</span>
1720
- 239: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newReport</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">sourceFileInfo</span>)
1721
- 240: <span class="ruby-ivar">@reportCounter</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1722
- 241: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'.'</span>
1723
- 242: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportByName</span>(<span class="ruby-identifier">name</span>)
1724
- 243: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'report_redefinition'</span>,
1725
- 244: <span class="ruby-node">&quot;A report with the name #{name} has already been defined.&quot;</span>)
1726
- 245: <span class="ruby-keyword kw">end</span>
1727
- 246: <span class="ruby-keyword kw">end</span>
1728
- 247: <span class="ruby-ivar">@property</span> = <span class="ruby-constant">Report</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>, <span class="ruby-identifier">id</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;report#{@reportCounter}&quot;</span>,
1729
- 248: <span class="ruby-identifier">name</span>, <span class="ruby-keyword kw">nil</span>)
1730
- 249: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">type</span>
1731
- 250: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-identifier">sourceFileInfo</span>
1732
- 251: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'formats'</span>, [ <span class="ruby-value">:tjp</span> ])
1733
- 252: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">inheritAttributes</span>
1734
- 253: <span class="ruby-ivar">@property</span>
1735
- 254: <span class="ruby-keyword kw">end</span></pre>
1736
- </div>
1737
-
1738
- </div>
1739
-
1740
-
1741
-
1742
-
1743
- </div>
1744
-
1745
-
1746
- <div id="new-ich-ext-method" class="method-detail ">
1747
- <a name="method-i-newRichText"></a>
1748
-
1749
- <div class="method-heading">
1750
-
1751
- <span class="method-name">newRichText</span><span
1752
- class="method-args">(text, sfi, tokenSet = nil)</span>
1753
- <span class="method-click-advice">click to toggle source</span>
1754
-
1755
- </div>
1756
-
1757
- <div class="method-description">
1758
-
1759
- <p>
1760
- This function is primarily a wrapper around the <a
1761
- href="RichText.html">RichText</a> constructor. It catches all <a
1762
- href="RichTextScanner.html">RichTextScanner</a> processing problems and
1763
- converts the exception data into a <a
1764
- href="MessageHandler.html">MessageHandler</a> message that points to the
1765
- correct location. This is necessary, because the <a
1766
- href="RichText.html">RichText</a> parser knows nothing about the actual
1767
- input file. So we have to map the error location in the <a
1768
- href="RichText.html">RichText</a> input stream back to the position in the
1769
- project file. <em>sfi</em> is the SourceFileInfo of the input string. To
1770
- limit the supported set of variable tokens, a subset can be provided by
1771
- <em>tokenSet</em>.
1772
- </p>
1773
-
1774
-
1775
-
1776
- <div class="method-source-code"
1777
- id="new-ich-ext-source">
1778
- <pre>
1779
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 217</span>
1780
- 217: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">tokenSet</span> = <span class="ruby-keyword kw">nil</span>)
1781
- 218: <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-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>, <span class="ruby-identifier">sfi</span>))
1782
- 219: <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>( [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>], <span class="ruby-identifier">tokenSet</span>))
1783
- 220: <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">messages</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">msg</span><span class="ruby-operator">|</span>
1784
- 221: <span class="ruby-comment cmt"># Map the SourceFileInfo of the RichText back to the original</span>
1785
- 222: <span class="ruby-comment cmt"># location in the input file.</span>
1786
- 223: <span class="ruby-identifier">sfi</span> = <span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(
1787
- 224: <span class="ruby-identifier">sfi</span>.<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">sfi</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">sourceFileInfo</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-value">0</span>)
1788
- 225: <span class="ruby-comment cmt"># Then replay the error message.</span>
1789
- 226: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">addMessage</span>(<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>, <span class="ruby-identifier">sfi</span>,
1790
- 227: <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">line</span>)
1791
- 228: <span class="ruby-keyword kw">end</span>
1792
- 229: <span class="ruby-keyword kw">end</span>
1793
- 230: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
1794
- 231: <span class="ruby-identifier">rti</span>
1795
- 232: <span class="ruby-keyword kw">end</span></pre>
1796
- </div>
1797
-
1798
- </div>
1799
-
1800
-
1801
-
1802
-
1803
- </div>
1804
-
1805
-
1806
- <div id="options-ule-method" class="method-detail ">
1807
- <a name="method-i-optionsRule"></a>
1808
-
1809
- <div class="method-heading">
1810
-
1811
- <span class="method-name">optionsRule</span><span
1812
- class="method-args">(attributes)</span>
1813
- <span class="method-click-advice">click to toggle source</span>
1814
-
1815
- </div>
1816
-
1817
- <div class="method-description">
1818
-
1819
- <p>
1820
- Create pattern that turns the rule into the definition for optional
1821
- attributes. <em>attributes</em> is the rule that lists these attributes.
1822
- </p>
1823
-
1824
-
1825
-
1826
- <div class="method-source-code"
1827
- id="options-ule-source">
1828
- <pre>
1829
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 353</span>
1830
- 353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optionsRule</span>(<span class="ruby-identifier">attributes</span>)
1831
- 354: <span class="ruby-identifier">optional</span>
1832
- 355: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_{'</span>, <span class="ruby-node">&quot;!#{attributes}&quot;</span>, <span class="ruby-value str">'_}'</span> ], <span class="ruby-identifier">lambda</span> {
1833
- 356: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>]
1834
- 357: })
1835
- 358: <span class="ruby-keyword kw">end</span></pre>
1836
- </div>
1837
-
1838
- </div>
1839
-
1840
-
1841
-
1842
-
1843
- </div>
1844
-
1845
-
1846
- <div id="pop-ile-tack-method" class="method-detail ">
1847
- <a name="method-i-popFileStack"></a>
1848
-
1849
- <div class="method-heading">
1850
-
1851
- <span class="method-name">popFileStack</span><span
1852
- class="method-args">()</span>
1853
- <span class="method-click-advice">click to toggle source</span>
1854
-
1855
- </div>
1856
-
1857
- <div class="method-description">
1858
-
1859
- <p>
1860
- Pop the last stack entry from the @fileStack and restore the class
1861
- variables according to the now top-entry.
1862
- </p>
1863
-
1864
-
1865
-
1866
- <div class="method-source-code"
1867
- id="pop-ile-tack-source">
1868
- <pre>
1869
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 445</span>
1870
- 445: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">popFileStack</span>
1871
- 446: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
1872
- 447: <span class="ruby-identifier">stackEntry</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>
1873
- 448: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1874
- 449: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>, <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>])
1875
- 450: <span class="ruby-keyword kw">end</span>
1876
- 451: <span class="ruby-comment cmt"># Include files can only occur at global level or in the project header.</span>
1877
- 452: <span class="ruby-comment cmt"># In both cases, the @property was nil on including and must be reset to</span>
1878
- 453: <span class="ruby-comment cmt"># nil again after the include file.</span>
1879
- 454: <span class="ruby-ivar">@property</span> = <span class="ruby-keyword kw">nil</span>
1880
- 455: <span class="ruby-keyword kw">end</span></pre>
1881
- </div>
1882
-
1883
- </div>
1884
-
1885
-
1886
-
1887
-
1888
- </div>
1889
-
1890
-
1891
- <div id="push-ile-tack-method" class="method-detail ">
1892
- <a name="method-i-pushFileStack"></a>
1893
-
1894
- <div class="method-heading">
1895
-
1896
- <span class="method-name">pushFileStack</span><span
1897
- class="method-args">()</span>
1898
- <span class="method-click-advice">click to toggle source</span>
1899
-
1900
- </div>
1901
-
1902
- <div class="method-description">
1903
-
1904
- <p>
1905
- Push a new set of variables onto the @fileStack.
1906
- </p>
1907
-
1908
-
1909
-
1910
- <div class="method-source-code"
1911
- id="push-ile-tack-source">
1912
- <pre>
1913
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 435</span>
1914
- 435: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pushFileStack</span>
1915
- 436: <span class="ruby-identifier">stackEntry</span> = {}
1916
- 437: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1917
- 438: <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>] = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>)
1918
- 439: <span class="ruby-keyword kw">end</span>
1919
- 440: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">stackEntry</span>
1920
- 441: <span class="ruby-keyword kw">end</span></pre>
1921
- </div>
1922
-
1923
- </div>
1924
-
1925
-
1926
-
1927
-
1928
- </div>
1929
-
1930
-
1931
- <div id="set-uration-ttribute-method" class="method-detail ">
1932
- <a name="method-i-setDurationAttribute"></a>
1933
-
1934
- <div class="method-heading">
1935
-
1936
- <span class="method-name">setDurationAttribute</span><span
1937
- class="method-args">(attribute, value = true)</span>
1938
- <span class="method-click-advice">click to toggle source</span>
1939
-
1940
- </div>
1941
-
1942
- <div class="method-description">
1943
-
1944
- <p>
1945
- Set the <em>attribute</em> to <em>value</em> and reset all other duration
1946
- attributes.
1947
- </p>
1948
-
1949
-
1950
-
1951
- <div class="method-source-code"
1952
- id="set-uration-ttribute-source">
1953
- <pre>
1954
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 269</span>
1955
- 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setDurationAttribute</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">value</span> = <span class="ruby-keyword kw">true</span>)
1956
- 270: <span class="ruby-identifier">checkContainer</span>(<span class="ruby-identifier">attribute</span>)
1957
- 271: { <span class="ruby-value str">'milestone'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">'duration'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>,
1958
- 272: <span class="ruby-value str">'length'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>, <span class="ruby-value str">'effort'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</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-identifier">val</span><span class="ruby-operator">|</span>
1959
- 273: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attribute</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">attr</span>
1960
- 274: <span class="ruby-ivar">@property</span>[<span class="ruby-identifier">attr</span>, <span class="ruby-ivar">@scenarioIdx</span>] = <span class="ruby-identifier">value</span>
1961
- 275: <span class="ruby-keyword kw">else</span>
1962
- 276: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">getAttribute</span>(<span class="ruby-identifier">attr</span>, <span class="ruby-ivar">@scenarioIdx</span>).<span class="ruby-identifier">provided</span>
1963
- 277: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'multiple_durations'</span>,
1964
- 278: <span class="ruby-value str">&quot;This duration criteria is overwriting a previously &quot;</span> <span class="ruby-operator">+</span>
1965
- 279: <span class="ruby-value str">&quot;provided criteria (duration, effort, length or milestone).&quot;</span>)
1966
- 280: <span class="ruby-keyword kw">end</span>
1967
- 281: <span class="ruby-ivar">@property</span>[<span class="ruby-identifier">attr</span>, <span class="ruby-ivar">@scenarioIdx</span>] = <span class="ruby-identifier">val</span>
1968
- 282: <span class="ruby-keyword kw">end</span>
1969
- 283: <span class="ruby-keyword kw">end</span>
1970
- 284: <span class="ruby-keyword kw">end</span></pre>
1971
- </div>
1972
-
1973
- </div>
1974
-
1975
-
1976
-
1977
-
1978
- </div>
1979
-
1980
-
1981
- <div id="set-imit-method" class="method-detail ">
1982
- <a name="method-i-setLimit"></a>
1983
-
1984
- <div class="method-heading">
1985
-
1986
- <span class="method-name">setLimit</span><span
1987
- class="method-args">(name, value, interval)</span>
1988
- <span class="method-click-advice">click to toggle source</span>
1989
-
1990
- </div>
1991
-
1992
- <div class="method-description">
1993
-
1994
- <p>
1995
- If the @limitResources list is not empty, we have to create a <a
1996
- href="Limits.html">Limits</a> object for each <a
1997
- href="Resource.html">Resource</a>. Otherwise, one <a
1998
- href="Limits.html">Limits</a> object is enough.
1999
- </p>
2000
-
2001
-
2002
-
2003
- <div class="method-source-code"
2004
- id="set-imit-source">
2005
- <pre>
2006
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 258</span>
2007
- 258: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>)
2008
- 259: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@limitResources</span>.<span class="ruby-identifier">empty?</span>
2009
- 260: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>)
2010
- 261: <span class="ruby-keyword kw">else</span>
2011
- 262: <span class="ruby-ivar">@limitResources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
2012
- 263: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>, <span class="ruby-identifier">resource</span>)
2013
- 264: <span class="ruby-keyword kw">end</span>
2014
- 265: <span class="ruby-keyword kw">end</span>
2015
- 266: <span class="ruby-keyword kw">end</span></pre>
2016
- </div>
2017
-
2018
- </div>
2019
-
2020
-
2021
-
2022
-
2023
- </div>
2024
-
2025
-
2026
- <div id="single-attern-method" class="method-detail ">
2027
- <a name="method-i-singlePattern"></a>
2028
-
2029
- <div class="method-heading">
2030
-
2031
- <span class="method-name">singlePattern</span><span
2032
- class="method-args">(item)</span>
2033
- <span class="method-click-advice">click to toggle source</span>
2034
-
2035
- </div>
2036
-
2037
- <div class="method-description">
2038
-
2039
- <p>
2040
- Create a pattern with just a single <em>item</em>. The pattern returns the
2041
- value of that item.
2042
- </p>
2043
-
2044
-
2045
-
2046
- <div class="method-source-code"
2047
- id="single-attern-source">
2048
- <pre>
2049
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 362</span>
2050
- 362: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singlePattern</span>(<span class="ruby-identifier">item</span>)
2051
- 363: <span class="ruby-identifier">pattern</span>([ <span class="ruby-identifier">item</span> ], <span class="ruby-identifier">lambda</span> {
2052
- 364: <span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>]
2053
- 365: })
2054
- 366: <span class="ruby-keyword kw">end</span></pre>
2055
- </div>
2056
-
2057
- </div>
2058
-
2059
-
2060
-
2061
-
2062
- </div>
2063
-
2064
-
2065
- <div id="week-ay-method" class="method-detail ">
2066
- <a name="method-i-weekDay"></a>
2067
-
2068
- <div class="method-heading">
2069
-
2070
- <span class="method-name">weekDay</span><span
2071
- class="method-args">(name)</span>
2072
- <span class="method-click-advice">click to toggle source</span>
2073
-
2074
- </div>
2075
-
2076
- <div class="method-description">
2077
-
2078
- <p>
2079
- Utility function that convers English weekday names into their index number
2080
- and does some error checking. It returns 0 for &#8216;sun&#8217;, 1 for
2081
- &#8216;mon&#8217; and so on.
2082
- </p>
2083
-
2084
-
2085
-
2086
- <div class="method-source-code"
2087
- id="week-ay-source">
2088
- <pre>
2089
- <span class="ruby-comment cmt"># File lib/taskjuggler/ProjectFileParser.rb, line 116</span>
2090
- 116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weekDay</span>(<span class="ruby-identifier">name</span>)
2091
- 117: <span class="ruby-identifier">names</span> = <span class="ruby-node">%( sun mon tue wed thu fri sat )</span>
2092
- 118: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> = <span class="ruby-identifier">names</span>.<span class="ruby-identifier">index</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
2093
- 119: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'weekday'</span>, <span class="ruby-node">&quot;Weekday name expected (#{names.join(', ')})&quot;</span>)
2094
- 120: <span class="ruby-keyword kw">end</span>
2095
- 121: <span class="ruby-identifier">day</span>
2096
- 122: <span class="ruby-keyword kw">end</span></pre>
2097
- </div>
2098
-
2099
- </div>
2100
-
2101
-
2102
-
2103
-
2104
- </div>
2105
-
2106
-
2107
- </div>
2108
-
2109
-
2110
- </div>
2111
-
2112
-
2113
- <div id="rdoc-debugging-section-dump" class="debugging-section">
2114
-
2115
- <p>Disabled; run with --debug to generate this.</p>
2116
-
2117
- </div>
2118
-
2119
- <div id="validator-badges">
2120
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
2121
- <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
2122
- Rdoc Generator</a> 1.1.6</small>.</p>
2123
- </div>
2124
-
2125
- </body>
2126
- </html>
2127
-