taskjuggler 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
data/doc/README.html CHANGED
@@ -80,6 +80,8 @@
80
80
 
81
81
  <li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
82
82
 
83
+ <li><a href="./TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
84
+
83
85
  <li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
84
86
 
85
87
  <li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -158,6 +160,8 @@
158
160
 
159
161
  <li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
160
162
 
163
+ <li><a href="./TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
164
+
161
165
  <li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
162
166
 
163
167
  <li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -190,6 +194,8 @@
190
194
 
191
195
  <li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
192
196
 
197
+ <li><a href="./TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
198
+
193
199
  <li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
194
200
 
195
201
  <li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -470,6 +476,8 @@
470
476
 
471
477
  <li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
472
478
 
479
+ <li><a href="./TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
480
+
473
481
  <li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
474
482
 
475
483
  <li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -496,8 +504,6 @@
496
504
 
497
505
  <li><a href="./String.html">String</a></li>
498
506
 
499
- <li><a href="./StringIO.html">StringIO</a></li>
500
-
501
507
  </ul>
502
508
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
503
509
  </div>
@@ -525,7 +531,7 @@ processor!) and a web browser is all you need.
525
531
  <h1>Copyright and License</h1>
526
532
  <p>
527
533
  <a href="TaskJuggler.html">TaskJuggler</a> is &#169; 2006, 2007, 2008,
528
- 2009, 2010 by Chris Schlaeger <cs (at) kde (dot) org>
534
+ 2009, 2010, 2011 by Chris Schlaeger <chris@linux.com>
529
535
  </p>
530
536
  <p>
531
537
  This program is free software; you can redistribute it and/or modify it
@@ -131,6 +131,8 @@
131
131
 
132
132
  <li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
133
133
 
134
+ <li><a href="./TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
135
+
134
136
  <li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
135
137
 
136
138
  <li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -209,6 +211,8 @@
209
211
 
210
212
  <li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
211
213
 
214
+ <li><a href="./TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
215
+
212
216
  <li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
213
217
 
214
218
  <li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -241,6 +245,8 @@
241
245
 
242
246
  <li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
243
247
 
248
+ <li><a href="./TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
249
+
244
250
  <li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
245
251
 
246
252
  <li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -521,6 +527,8 @@
521
527
 
522
528
  <li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
523
529
 
530
+ <li><a href="./TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
531
+
524
532
  <li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
525
533
 
526
534
  <li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -547,8 +555,6 @@
547
555
 
548
556
  <li><a href="./String.html">String</a></li>
549
557
 
550
- <li><a href="./StringIO.html">StringIO</a></li>
551
-
552
558
  </ul>
553
559
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
554
560
  </div>
@@ -626,43 +632,43 @@ object.
626
632
  <div class="method-source-code"
627
633
  id="new-source">
628
634
  <pre>
629
- <span class="ruby-comment cmt"># File lib/RuntimeConfig.rb, line 23</span>
630
- 23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">appName</span>, <span class="ruby-identifier">configFile</span> = <span class="ruby-keyword kw">nil</span>)
631
- 24: <span class="ruby-ivar">@appName</span> = <span class="ruby-identifier">appName</span>
632
- 25: <span class="ruby-ivar">@config</span> = <span class="ruby-keyword kw">nil</span>
633
- 26: <span class="ruby-ivar">@debugMode</span> = <span class="ruby-keyword kw">false</span>
634
- 27:
635
- 28: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">configFile</span>
636
- 29: <span class="ruby-comment cmt"># Read user specified config file.</span>
637
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">configFile</span>)
638
- 31: <span class="ruby-keyword kw">begin</span>
639
- 32: <span class="ruby-ivar">@config</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">configFile</span>))
640
- 33: <span class="ruby-keyword kw">rescue</span>
641
- 34: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Error in config file #{configFile}: #{$!}&quot;</span>
642
- 35: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
643
- 36: <span class="ruby-keyword kw">end</span>
644
- 37: <span class="ruby-keyword kw">else</span>
645
- 38: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Config file #{configFile} not found!&quot;</span>
646
- 39: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
647
- 40: <span class="ruby-keyword kw">end</span>
648
- 41: <span class="ruby-keyword kw">else</span>
649
- 42: <span class="ruby-comment cmt"># Search config files in certain directories.</span>
650
- 43: <span class="ruby-ivar">@path</span> = [ <span class="ruby-value str">'.'</span>, <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'HOME'</span>], <span class="ruby-value str">'/etc'</span> ]
651
- 44:
652
- 45: <span class="ruby-ivar">@path</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
653
- 46: <span class="ruby-comment cmt"># Try UNIX style hidden file first, then .rc.</span>
654
- 47: [ <span class="ruby-node">&quot;#{path}/.#{appName}rc&quot;</span>, <span class="ruby-node">&quot;#{path}/#{appName}.rc&quot;</span> ].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
655
- 48: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">file</span>)
656
- 49: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Loading #{file}&quot;</span>)
657
- 50: <span class="ruby-ivar">@config</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">file</span>))
658
- 51: <span class="ruby-identifier">debug</span>(<span class="ruby-ivar">@config</span>.<span class="ruby-identifier">to_s</span>)
659
- 52: <span class="ruby-keyword kw">break</span>
660
- 53: <span class="ruby-keyword kw">end</span>
661
- 54: <span class="ruby-keyword kw">end</span>
662
- 55: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@config</span>
663
- 56: <span class="ruby-keyword kw">end</span>
664
- 57: <span class="ruby-keyword kw">end</span>
665
- 58: <span class="ruby-keyword kw">end</span></pre>
635
+ <span class="ruby-comment cmt"># File lib/RuntimeConfig.rb, line 24</span>
636
+ 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">appName</span>, <span class="ruby-identifier">configFile</span> = <span class="ruby-keyword kw">nil</span>)
637
+ 25: <span class="ruby-ivar">@appName</span> = <span class="ruby-identifier">appName</span>
638
+ 26: <span class="ruby-ivar">@config</span> = <span class="ruby-keyword kw">nil</span>
639
+ 27: <span class="ruby-ivar">@debugMode</span> = <span class="ruby-keyword kw">false</span>
640
+ 28:
641
+ 29: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">configFile</span>
642
+ 30: <span class="ruby-comment cmt"># Read user specified config file.</span>
643
+ 31: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">configFile</span>)
644
+ 32: <span class="ruby-keyword kw">begin</span>
645
+ 33: <span class="ruby-ivar">@config</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">configFile</span>))
646
+ 34: <span class="ruby-keyword kw">rescue</span>
647
+ 35: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Error in config file #{configFile}: #{$!}&quot;</span>
648
+ 36: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
649
+ 37: <span class="ruby-keyword kw">end</span>
650
+ 38: <span class="ruby-keyword kw">else</span>
651
+ 39: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Config file #{configFile} not found!&quot;</span>
652
+ 40: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
653
+ 41: <span class="ruby-keyword kw">end</span>
654
+ 42: <span class="ruby-keyword kw">else</span>
655
+ 43: <span class="ruby-comment cmt"># Search config files in certain directories.</span>
656
+ 44: <span class="ruby-ivar">@path</span> = [ <span class="ruby-value str">'.'</span>, <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'HOME'</span>], <span class="ruby-value str">'/etc'</span> ]
657
+ 45:
658
+ 46: <span class="ruby-ivar">@path</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
659
+ 47: <span class="ruby-comment cmt"># Try UNIX style hidden file first, then .rc.</span>
660
+ 48: [ <span class="ruby-node">&quot;#{path}/.#{appName}rc&quot;</span>, <span class="ruby-node">&quot;#{path}/#{appName}.rc&quot;</span> ].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
661
+ 49: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">file</span>)
662
+ 50: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Loading #{file}&quot;</span>)
663
+ 51: <span class="ruby-ivar">@config</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">file</span>))
664
+ 52: <span class="ruby-identifier">debug</span>(<span class="ruby-ivar">@config</span>.<span class="ruby-identifier">to_s</span>)
665
+ 53: <span class="ruby-keyword kw">break</span>
666
+ 54: <span class="ruby-keyword kw">end</span>
667
+ 55: <span class="ruby-keyword kw">end</span>
668
+ 56: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@config</span>
669
+ 57: <span class="ruby-keyword kw">end</span>
670
+ 58: <span class="ruby-keyword kw">end</span>
671
+ 59: <span class="ruby-keyword kw">end</span></pre>
666
672
  </div>
667
673
 
668
674
  </div>
@@ -699,30 +705,30 @@ object.
699
705
  <div class="method-source-code"
700
706
  id="configure-source">
701
707
  <pre>
702
- <span class="ruby-comment cmt"># File lib/RuntimeConfig.rb, line 60</span>
703
- 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">section</span>)
704
- 61: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Configuring object of type #{object.class}&quot;</span>)
705
- 62: <span class="ruby-identifier">sections</span> = <span class="ruby-identifier">section</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
706
- 63: <span class="ruby-identifier">p</span> = <span class="ruby-ivar">@config</span>
707
- 64: <span class="ruby-identifier">sections</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sec</span><span class="ruby-operator">|</span>
708
- 65: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">p</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">sec</span>)
709
- 66: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Section #{section} not found in config file&quot;</span>)
710
- 67: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
711
- 68: <span class="ruby-keyword kw">end</span>
712
- 69: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">p</span>[<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">sec</span>]
713
- 70: <span class="ruby-keyword kw">end</span>
714
- 71:
715
- 72: <span class="ruby-identifier">object</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
716
- 73: <span class="ruby-identifier">ivName</span> = <span class="ruby-identifier">iv</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
717
- 74: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Processing class variable #{ivName}&quot;</span>)
718
- 75: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">ivName</span>)
719
- 76: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Setting @#{ivName} to #{p[ivName]}&quot;</span>)
720
- 77: <span class="ruby-identifier">object</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">p</span>[<span class="ruby-identifier">ivName</span>])
721
- 78: <span class="ruby-keyword kw">end</span>
722
- 79: <span class="ruby-keyword kw">end</span>
723
- 80:
724
- 81: <span class="ruby-keyword kw">true</span>
725
- 82: <span class="ruby-keyword kw">end</span></pre>
708
+ <span class="ruby-comment cmt"># File lib/RuntimeConfig.rb, line 61</span>
709
+ 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">section</span>)
710
+ 62: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Configuring object of type #{object.class}&quot;</span>)
711
+ 63: <span class="ruby-identifier">sections</span> = <span class="ruby-identifier">section</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
712
+ 64: <span class="ruby-identifier">p</span> = <span class="ruby-ivar">@config</span>
713
+ 65: <span class="ruby-identifier">sections</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sec</span><span class="ruby-operator">|</span>
714
+ 66: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">p</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">sec</span>)
715
+ 67: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Section #{section} not found in config file&quot;</span>)
716
+ 68: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
717
+ 69: <span class="ruby-keyword kw">end</span>
718
+ 70: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">p</span>[<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">sec</span>]
719
+ 71: <span class="ruby-keyword kw">end</span>
720
+ 72:
721
+ 73: <span class="ruby-identifier">object</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
722
+ 74: <span class="ruby-identifier">ivName</span> = <span class="ruby-identifier">iv</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
723
+ 75: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Processing class variable #{ivName}&quot;</span>)
724
+ 76: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">ivName</span>)
725
+ 77: <span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Setting @#{ivName} to #{p[ivName]}&quot;</span>)
726
+ 78: <span class="ruby-identifier">object</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">p</span>[<span class="ruby-identifier">ivName</span>])
727
+ 79: <span class="ruby-keyword kw">end</span>
728
+ 80: <span class="ruby-keyword kw">end</span>
729
+ 81:
730
+ 82: <span class="ruby-keyword kw">true</span>
731
+ 83: <span class="ruby-keyword kw">end</span></pre>
726
732
  </div>
727
733
 
728
734
  </div>
@@ -759,12 +765,12 @@ object.
759
765
  <div class="method-source-code"
760
766
  id="debug-source">
761
767
  <pre>
762
- <span class="ruby-comment cmt"># File lib/RuntimeConfig.rb, line 86</span>
763
- 86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">message</span>)
764
- 87: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@debugMode</span>
765
- 88:
766
- 89: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">message</span>
767
- 90: <span class="ruby-keyword kw">end</span></pre>
768
+ <span class="ruby-comment cmt"># File lib/RuntimeConfig.rb, line 87</span>
769
+ 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">message</span>)
770
+ 88: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@debugMode</span>
771
+ 89:
772
+ 90: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">message</span>
773
+ 91: <span class="ruby-keyword kw">end</span></pre>
768
774
  </div>
769
775
 
770
776
  </div>
data/doc/String.html CHANGED
@@ -139,6 +139,8 @@
139
139
 
140
140
  <li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
141
141
 
142
+ <li><a href="./TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
143
+
142
144
  <li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
143
145
 
144
146
  <li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -217,6 +219,8 @@
217
219
 
218
220
  <li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
219
221
 
222
+ <li><a href="./TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
223
+
220
224
  <li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
221
225
 
222
226
  <li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -249,6 +253,8 @@
249
253
 
250
254
  <li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
251
255
 
256
+ <li><a href="./TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
257
+
252
258
  <li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
253
259
 
254
260
  <li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -529,6 +535,8 @@
529
535
 
530
536
  <li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
531
537
 
538
+ <li><a href="./TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
539
+
532
540
  <li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
533
541
 
534
542
  <li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -555,8 +563,6 @@
555
563
 
556
564
  <li><a href="./String.html">String</a></li>
557
565
 
558
- <li><a href="./StringIO.html">StringIO</a></li>
559
-
560
566
  </ul>
561
567
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
562
568
  </div>
@@ -615,24 +621,24 @@ above Fixnum 255 (UTF-8 characters).
615
621
  <div class="method-source-code"
616
622
  id="--source">
617
623
  <pre>
618
- <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 59</span>
619
- 59: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">obj</span>)
620
- 60: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">obj</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">256</span>)
621
- 61: <span class="ruby-comment cmt"># In this case we can use the built-in concat.</span>
622
- 62: <span class="ruby-identifier">concat</span>(<span class="ruby-identifier">obj</span>)
623
- 63: <span class="ruby-keyword kw">else</span>
624
- 64: <span class="ruby-comment cmt"># UTF-8 characters have a maximum length of 4 byte and no byte is 0.</span>
625
- 65: <span class="ruby-identifier">mask</span> = <span class="ruby-value">0xFF000000</span>
626
- 66: <span class="ruby-identifier">pos</span> = <span class="ruby-value">3</span>
627
- 67: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">pos</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
628
- 68: <span class="ruby-comment cmt"># Use the built-in concat operator for each byte.</span>
629
- 69: <span class="ruby-identifier">concat</span>((<span class="ruby-identifier">obj</span> &amp; <span class="ruby-identifier">mask</span>) <span class="ruby-operator">&gt;&gt;</span> (<span class="ruby-value">8</span> * <span class="ruby-identifier">pos</span>)) <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">obj</span> &amp; <span class="ruby-identifier">mask</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
630
- 70: <span class="ruby-comment cmt"># Move mask and position to the next byte.</span>
631
- 71: <span class="ruby-identifier">mask</span> = <span class="ruby-identifier">mask</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-value">8</span>
632
- 72: <span class="ruby-identifier">pos</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
633
- 73: <span class="ruby-keyword kw">end</span>
634
- 74: <span class="ruby-keyword kw">end</span>
635
- 75: <span class="ruby-keyword kw">end</span></pre>
624
+ <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 60</span>
625
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">obj</span>)
626
+ 61: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">obj</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">256</span>)
627
+ 62: <span class="ruby-comment cmt"># In this case we can use the built-in concat.</span>
628
+ 63: <span class="ruby-identifier">concat</span>(<span class="ruby-identifier">obj</span>)
629
+ 64: <span class="ruby-keyword kw">else</span>
630
+ 65: <span class="ruby-comment cmt"># UTF-8 characters have a maximum length of 4 byte and no byte is 0.</span>
631
+ 66: <span class="ruby-identifier">mask</span> = <span class="ruby-value">0xFF000000</span>
632
+ 67: <span class="ruby-identifier">pos</span> = <span class="ruby-value">3</span>
633
+ 68: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">pos</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
634
+ 69: <span class="ruby-comment cmt"># Use the built-in concat operator for each byte.</span>
635
+ 70: <span class="ruby-identifier">concat</span>((<span class="ruby-identifier">obj</span> &amp; <span class="ruby-identifier">mask</span>) <span class="ruby-operator">&gt;&gt;</span> (<span class="ruby-value">8</span> * <span class="ruby-identifier">pos</span>)) <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">obj</span> &amp; <span class="ruby-identifier">mask</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
636
+ 71: <span class="ruby-comment cmt"># Move mask and position to the next byte.</span>
637
+ 72: <span class="ruby-identifier">mask</span> = <span class="ruby-identifier">mask</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-value">8</span>
638
+ 73: <span class="ruby-identifier">pos</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
639
+ 74: <span class="ruby-keyword kw">end</span>
640
+ 75: <span class="ruby-keyword kw">end</span>
641
+ 76: <span class="ruby-keyword kw">end</span></pre>
636
642
  </div>
637
643
 
638
644
  </div>
@@ -672,33 +678,33 @@ propagated regexp based implementations.
672
678
  <div class="method-source-code"
673
679
  id="each-utf-char-source">
674
680
  <pre>
675
- <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 28</span>
676
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_utf8_char</span>
677
- 29: <span class="ruby-identifier">c</span> = <span class="ruby-value str">''</span>
678
- 30: <span class="ruby-identifier">length</span> = <span class="ruby-value">0</span>
679
- 31: <span class="ruby-identifier">each_byte</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
680
- 32: <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">b</span>
681
- 33: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
682
- 34: <span class="ruby-comment cmt"># subsequent unicode byte</span>
683
- 35: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">length</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
684
- 36: <span class="ruby-comment cmt"># end of unicode character reached</span>
685
- 37: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">c</span>
686
- 38: <span class="ruby-identifier">c</span> = <span class="ruby-value str">''</span>
687
- 39: <span class="ruby-keyword kw">end</span>
688
- 40: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">b</span> &amp; <span class="ruby-value">0xC0</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0xC0</span>
689
- 41: <span class="ruby-comment cmt"># first unicode byte</span>
690
- 42: <span class="ruby-identifier">length</span> = <span class="ruby-value">1</span>
691
- 43: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">b</span> &amp; <span class="ruby-value">0x80</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
692
- 44: <span class="ruby-identifier">length</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
693
- 45: <span class="ruby-identifier">b</span> = <span class="ruby-identifier">b</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">1</span>
694
- 46: <span class="ruby-keyword kw">end</span>
695
- 47: <span class="ruby-keyword kw">else</span>
696
- 48: <span class="ruby-comment cmt"># ASCII character</span>
697
- 49: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">c</span>
698
- 50: <span class="ruby-identifier">c</span> = <span class="ruby-value str">''</span>
699
- 51: <span class="ruby-keyword kw">end</span>
700
- 52: <span class="ruby-keyword kw">end</span>
701
- 53: <span class="ruby-keyword kw">end</span></pre>
681
+ <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 29</span>
682
+ 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_utf8_char</span>
683
+ 30: <span class="ruby-identifier">c</span> = <span class="ruby-value str">''</span>
684
+ 31: <span class="ruby-identifier">length</span> = <span class="ruby-value">0</span>
685
+ 32: <span class="ruby-identifier">each_byte</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
686
+ 33: <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">b</span>
687
+ 34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
688
+ 35: <span class="ruby-comment cmt"># subsequent unicode byte</span>
689
+ 36: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">length</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
690
+ 37: <span class="ruby-comment cmt"># end of unicode character reached</span>
691
+ 38: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">c</span>
692
+ 39: <span class="ruby-identifier">c</span> = <span class="ruby-value str">''</span>
693
+ 40: <span class="ruby-keyword kw">end</span>
694
+ 41: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">b</span> &amp; <span class="ruby-value">0xC0</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0xC0</span>
695
+ 42: <span class="ruby-comment cmt"># first unicode byte</span>
696
+ 43: <span class="ruby-identifier">length</span> = <span class="ruby-value">1</span>
697
+ 44: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">b</span> &amp; <span class="ruby-value">0x80</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
698
+ 45: <span class="ruby-identifier">length</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
699
+ 46: <span class="ruby-identifier">b</span> = <span class="ruby-identifier">b</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">1</span>
700
+ 47: <span class="ruby-keyword kw">end</span>
701
+ 48: <span class="ruby-keyword kw">else</span>
702
+ 49: <span class="ruby-comment cmt"># ASCII character</span>
703
+ 50: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">c</span>
704
+ 51: <span class="ruby-identifier">c</span> = <span class="ruby-value str">''</span>
705
+ 52: <span class="ruby-keyword kw">end</span>
706
+ 53: <span class="ruby-keyword kw">end</span>
707
+ 54: <span class="ruby-keyword kw">end</span></pre>
702
708
  </div>
703
709
 
704
710
  </div>
@@ -734,12 +740,12 @@ purpose.
734
740
  <div class="method-source-code"
735
741
  id="length-utf--source">
736
742
  <pre>
737
- <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 80</span>
738
- 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length_utf8</span>
739
- 81: <span class="ruby-identifier">len</span> = <span class="ruby-value">0</span>
740
- 82: <span class="ruby-identifier">each_utf8_char</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> }
741
- 83: <span class="ruby-identifier">len</span>
742
- 84: <span class="ruby-keyword kw">end</span></pre>
743
+ <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 81</span>
744
+ 81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length_utf8</span>
745
+ 82: <span class="ruby-identifier">len</span> = <span class="ruby-value">0</span>
746
+ 83: <span class="ruby-identifier">each_utf8_char</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> }
747
+ 84: <span class="ruby-identifier">len</span>
748
+ 85: <span class="ruby-keyword kw">end</span></pre>
743
749
  </div>
744
750
 
745
751
  </div>
@@ -830,12 +836,12 @@ UTF-8 aware version of reverse that replaces the built-in one.
830
836
  <div class="method-source-code"
831
837
  id="reverse-source">
832
838
  <pre>
833
- <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 89</span>
834
- 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reverse</span>
835
- 90: <span class="ruby-identifier">a</span> = []
836
- 91: <span class="ruby-identifier">each_utf8_char</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span> }
837
- 92: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">join</span>
838
- 93: <span class="ruby-keyword kw">end</span></pre>
839
+ <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 90</span>
840
+ 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reverse</span>
841
+ 91: <span class="ruby-identifier">a</span> = []
842
+ 92: <span class="ruby-identifier">each_utf8_char</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span> }
843
+ 93: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">join</span>
844
+ 94: <span class="ruby-keyword kw">end</span></pre>
839
845
  </div>
840
846
 
841
847
  </div>
@@ -870,10 +876,10 @@ UTF-8 aware version of reverse that replaces the built-in one.
870
876
  <div class="method-source-code"
871
877
  id="to-quoted-printable-source">
872
878
  <pre>
873
- <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 100</span>
874
- 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_quoted_printable</span>
875
- 101: [<span class="ruby-keyword kw">self</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'M'</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-value str">&quot;\r\n&quot;</span>)
876
- 102: <span class="ruby-keyword kw">end</span></pre>
879
+ <span class="ruby-comment cmt"># File lib/UTF8String.rb, line 101</span>
880
+ 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_quoted_printable</span>
881
+ 102: [<span class="ruby-keyword kw">self</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'M'</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-value str">&quot;\r\n&quot;</span>)
882
+ 103: <span class="ruby-keyword kw">end</span></pre>
877
883
  </div>
878
884
 
879
885
  </div>
data/doc/TaskJuggler.html CHANGED
@@ -269,6 +269,9 @@
269
269
  <li><a href="./lib/daemon/ProjectServer_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
270
270
  class="thickbox" title="lib/daemon/ProjectServer.rb">lib/daemon/ProjectServer.rb</a></li>
271
271
 
272
+ <li><a href="./lib/daemon/ReportServlet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
273
+ class="thickbox" title="lib/daemon/ReportServlet.rb">lib/daemon/ReportServlet.rb</a></li>
274
+
272
275
  <li><a href="./lib/daemon/ReportServer_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
273
276
  class="thickbox" title="lib/daemon/ReportServer.rb">lib/daemon/ReportServer.rb</a></li>
274
277
 
@@ -278,6 +281,9 @@
278
281
  <li><a href="./lib/daemon/ProjectBroker_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
279
282
  class="thickbox" title="lib/daemon/ProjectBroker.rb">lib/daemon/ProjectBroker.rb</a></li>
280
283
 
284
+ <li><a href="./lib/daemon/WelcomePage_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
285
+ class="thickbox" title="lib/daemon/WelcomePage.rb">lib/daemon/WelcomePage.rb</a></li>
286
+
281
287
  <li><a href="./lib/daemon/Daemon_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
282
288
  class="thickbox" title="lib/daemon/Daemon.rb">lib/daemon/Daemon.rb</a></li>
283
289
 
@@ -383,6 +389,9 @@
383
389
  <li><a href="./lib/PropertySet_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
384
390
  class="thickbox" title="lib/PropertySet.rb">lib/PropertySet.rb</a></li>
385
391
 
392
+ <li><a href="./lib/IntervalList_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
393
+ class="thickbox" title="lib/IntervalList.rb">lib/IntervalList.rb</a></li>
394
+
386
395
  <li><a href="./lib/RichTextFunctionExample_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
387
396
  class="thickbox" title="lib/RichTextFunctionExample.rb">lib/RichTextFunctionExample.rb</a></li>
388
397
 
@@ -486,6 +495,8 @@
486
495
 
487
496
  <li><span class="type">CLASS</span> <a href="TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
488
497
 
498
+ <li><span class="type">CLASS</span> <a href="TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
499
+
489
500
  <li><span class="type">CLASS</span> <a href="TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
490
501
 
491
502
  <li><span class="type">CLASS</span> <a href="TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -562,6 +573,8 @@
562
573
 
563
574
  <li><span class="type">CLASS</span> <a href="TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
564
575
 
576
+ <li><span class="type">CLASS</span> <a href="TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
577
+
565
578
  <li><span class="type">CLASS</span> <a href="TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
566
579
 
567
580
  <li><span class="type">CLASS</span> <a href="TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -592,6 +605,8 @@
592
605
 
593
606
  <li><span class="type">CLASS</span> <a href="TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
594
607
 
608
+ <li><span class="type">CLASS</span> <a href="TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
609
+
595
610
  <li><span class="type">CLASS</span> <a href="TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
596
611
 
597
612
  <li><span class="type">CLASS</span> <a href="TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -842,6 +857,8 @@
842
857
 
843
858
  <li><span class="type">CLASS</span> <a href="TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
844
859
 
860
+ <li><span class="type">CLASS</span> <a href="TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
861
+
845
862
  <li><span class="type">CLASS</span> <a href="TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
846
863
 
847
864
  <li><span class="type">CLASS</span> <a href="TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -948,6 +965,8 @@
948
965
 
949
966
  <li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
950
967
 
968
+ <li><a href="./TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
969
+
951
970
  <li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
952
971
 
953
972
  <li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -1026,6 +1045,8 @@
1026
1045
 
1027
1046
  <li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
1028
1047
 
1048
+ <li><a href="./TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
1049
+
1029
1050
  <li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
1030
1051
 
1031
1052
  <li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -1058,6 +1079,8 @@
1058
1079
 
1059
1080
  <li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
1060
1081
 
1082
+ <li><a href="./TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
1083
+
1061
1084
  <li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
1062
1085
 
1063
1086
  <li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -1338,6 +1361,8 @@
1338
1361
 
1339
1362
  <li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
1340
1363
 
1364
+ <li><a href="./TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
1365
+
1341
1366
  <li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
1342
1367
 
1343
1368
  <li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -1364,8 +1389,6 @@
1364
1389
 
1365
1390
  <li><a href="./String.html">String</a></li>
1366
1391
 
1367
- <li><a href="./StringIO.html">StringIO</a></li>
1368
-
1369
1392
  </ul>
1370
1393
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
1371
1394
  </div>
@@ -1383,9 +1406,11 @@ encoding: UTF-8
1383
1406
  </p>
1384
1407
  <h1>ReportContext.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1385
1408
  <p>
1386
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1387
- <cs@kde.org>
1409
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1388
1410
  </p>
1411
+ <pre>
1412
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1413
+ </pre>
1389
1414
  <p>
1390
1415
  This program is free software; you can redistribute it and/or modify it
1391
1416
  under the terms of version 2 of the GNU General Public License as published
@@ -1396,9 +1421,11 @@ encoding: UTF-8
1396
1421
  </p>
1397
1422
  <h1>ReportTableCell.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1398
1423
  <p>
1399
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1400
- <cs@kde.org>
1424
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1401
1425
  </p>
1426
+ <pre>
1427
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1428
+ </pre>
1402
1429
  <p>
1403
1430
  This program is free software; you can redistribute it and/or modify it
1404
1431
  under the terms of version 2 of the GNU General Public License as published
@@ -1409,9 +1436,11 @@ encoding: UTF-8
1409
1436
  </p>
1410
1437
  <h1>GanttHeaderScaleItem.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1411
1438
  <p>
1412
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1413
- <cs@kde.org>
1439
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1414
1440
  </p>
1441
+ <pre>
1442
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1443
+ </pre>
1415
1444
  <p>
1416
1445
  This program is free software; you can redistribute it and/or modify it
1417
1446
  under the terms of version 2 of the GNU General Public License as published
@@ -1422,9 +1451,11 @@ encoding: UTF-8
1422
1451
  </p>
1423
1452
  <h1>ReportBase.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1424
1453
  <p>
1425
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1426
- <cs@kde.org>
1454
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1427
1455
  </p>
1456
+ <pre>
1457
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1458
+ </pre>
1428
1459
  <p>
1429
1460
  This program is free software; you can redistribute it and/or modify it
1430
1461
  under the terms of version 2 of the GNU General Public License as published
@@ -1435,9 +1466,11 @@ encoding: UTF-8
1435
1466
  </p>
1436
1467
  <h1>ReportTableColumn.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1437
1468
  <p>
1438
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1439
- <cs@kde.org>
1469
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1440
1470
  </p>
1471
+ <pre>
1472
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1473
+ </pre>
1441
1474
  <p>
1442
1475
  This program is free software; you can redistribute it and/or modify it
1443
1476
  under the terms of version 2 of the GNU General Public License as published
@@ -1448,9 +1481,11 @@ encoding: UTF-8
1448
1481
  </p>
1449
1482
  <h1>ReportTableLegend.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1450
1483
  <p>
1451
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1452
- <cs@kde.org>
1484
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1453
1485
  </p>
1486
+ <pre>
1487
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1488
+ </pre>
1454
1489
  <p>
1455
1490
  This program is free software; you can redistribute it and/or modify it
1456
1491
  under the terms of version 2 of the GNU General Public License as published
@@ -1461,9 +1496,11 @@ encoding: UTF-8
1461
1496
  </p>
1462
1497
  <h1>HTMLGraphics.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1463
1498
  <p>
1464
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1465
- <cs@kde.org>
1499
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1466
1500
  </p>
1501
+ <pre>
1502
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1503
+ </pre>
1467
1504
  <p>
1468
1505
  This program is free software; you can redistribute it and/or modify it
1469
1506
  under the terms of version 2 of the GNU General Public License as published
@@ -1474,9 +1511,11 @@ encoding: UTF-8
1474
1511
  </p>
1475
1512
  <h1>FileList.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1476
1513
  <p>
1477
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1478
- <cs@kde.org>
1514
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1479
1515
  </p>
1516
+ <pre>
1517
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1518
+ </pre>
1480
1519
  <p>
1481
1520
  This program is free software; you can redistribute it and/or modify it
1482
1521
  under the terms of version 2 of the GNU General Public License as published
@@ -1487,9 +1526,11 @@ encoding: UTF-8
1487
1526
  </p>
1488
1527
  <h1>Journal.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1489
1528
  <p>
1490
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1491
- <cs@kde.org>
1529
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1492
1530
  </p>
1531
+ <pre>
1532
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1533
+ </pre>
1493
1534
  <p>
1494
1535
  This program is free software; you can redistribute it and/or modify it
1495
1536
  under the terms of version 2 of the GNU General Public License as published
@@ -1500,9 +1541,11 @@ encoding: UTF-8
1500
1541
  </p>
1501
1542
  <h1>AttributeDefinition.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1502
1543
  <p>
1503
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1504
- <cs@kde.org>
1544
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1505
1545
  </p>
1546
+ <pre>
1547
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1548
+ </pre>
1506
1549
  <p>
1507
1550
  This program is free software; you can redistribute it and/or modify it
1508
1551
  under the terms of version 2 of the GNU General Public License as published
@@ -1513,9 +1556,11 @@ encoding: UTF-8
1513
1556
  </p>
1514
1557
  <h1>PropertyList.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1515
1558
  <p>
1516
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1517
- <cs@kde.org>
1559
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1518
1560
  </p>
1561
+ <pre>
1562
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1563
+ </pre>
1519
1564
  <p>
1520
1565
  This program is free software; you can redistribute it and/or modify it
1521
1566
  under the terms of version 2 of the GNU General Public License as published
@@ -1526,9 +1571,11 @@ encoding: UTF-8
1526
1571
  </p>
1527
1572
  <h1>PropertyTreeNode.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1528
1573
  <p>
1529
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1530
- <cs@kde.org>
1574
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1531
1575
  </p>
1576
+ <pre>
1577
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1578
+ </pre>
1532
1579
  <p>
1533
1580
  This program is free software; you can redistribute it and/or modify it
1534
1581
  under the terms of version 2 of the GNU General Public License as published
@@ -1539,9 +1586,11 @@ encoding: UTF-8
1539
1586
  </p>
1540
1587
  <h1>TjException.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1541
1588
  <p>
1542
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1543
- <cs@kde.org>
1589
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1544
1590
  </p>
1591
+ <pre>
1592
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1593
+ </pre>
1545
1594
  <p>
1546
1595
  This program is free software; you can redistribute it and/or modify it
1547
1596
  under the terms of version 2 of the GNU General Public License as published
@@ -1552,9 +1601,11 @@ encoding: UTF-8
1552
1601
  </p>
1553
1602
  <h1>RealFormat.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1554
1603
  <p>
1555
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1556
- <cs@kde.org>
1604
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1557
1605
  </p>
1606
+ <pre>
1607
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1608
+ </pre>
1558
1609
  <p>
1559
1610
  This program is free software; you can redistribute it and/or modify it
1560
1611
  under the terms of version 2 of the GNU General Public License as published
@@ -1565,9 +1616,11 @@ encoding: UTF-8
1565
1616
  </p>
1566
1617
  <h1>Booking.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1567
1618
  <p>
1568
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1569
- <cs@kde.org>
1619
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1570
1620
  </p>
1621
+ <pre>
1622
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1623
+ </pre>
1571
1624
  <p>
1572
1625
  This program is free software; you can redistribute it and/or modify it
1573
1626
  under the terms of version 2 of the GNU General Public License as published
@@ -1578,9 +1631,11 @@ encoding: UTF-8
1578
1631
  </p>
1579
1632
  <h1>TjpSyntaxRules.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1580
1633
  <p>
1581
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1582
- <cs@kde.org>
1634
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1583
1635
  </p>
1636
+ <pre>
1637
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1638
+ </pre>
1584
1639
  <p>
1585
1640
  This program is free software; you can redistribute it and/or modify it
1586
1641
  under the terms of version 2 of the GNU General Public License as published
@@ -1591,9 +1646,11 @@ encoding: UTF-8
1591
1646
  </p>
1592
1647
  <h1>SourceFileInfo.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1593
1648
  <p>
1594
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1595
- <cs@kde.org>
1649
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1596
1650
  </p>
1651
+ <pre>
1652
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1653
+ </pre>
1597
1654
  <p>
1598
1655
  This program is free software; you can redistribute it and/or modify it
1599
1656
  under the terms of version 2 of the GNU General Public License as published
@@ -1604,9 +1661,11 @@ encoding: UTF-8
1604
1661
  </p>
1605
1662
  <h1>KeywordArray.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1606
1663
  <p>
1607
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1608
- <cs@kde.org>
1664
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1609
1665
  </p>
1666
+ <pre>
1667
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1668
+ </pre>
1610
1669
  <p>
1611
1670
  This program is free software; you can redistribute it and/or modify it
1612
1671
  under the terms of version 2 of the GNU General Public License as published
@@ -1617,9 +1676,11 @@ encoding: UTF-8
1617
1676
  </p>
1618
1677
  <h1>MessageHandler.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1619
1678
  <p>
1620
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1621
- <cs@kde.org>
1679
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1622
1680
  </p>
1681
+ <pre>
1682
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1683
+ </pre>
1623
1684
  <p>
1624
1685
  This program is free software; you can redistribute it and/or modify it
1625
1686
  under the terms of version 2 of the GNU General Public License as published
@@ -1636,22 +1697,11 @@ encoding: UTF-8
1636
1697
  </p>
1637
1698
  <h1>TaskDependency.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1638
1699
  <p>
1639
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1640
- <cs@kde.org>
1641
- </p>
1642
- <p>
1643
- This program is free software; you can redistribute it and/or modify it
1644
- under the terms of version 2 of the GNU General Public License as published
1645
- by the Free Software Foundation.
1646
- </p>
1647
- <hr style="height: 1px"></hr><p>
1648
- encoding: UTF-8
1649
- </p>
1650
- <h1>Scoreboard.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1651
- <p>
1652
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1653
- <cs@kde.org>
1700
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1654
1701
  </p>
1702
+ <pre>
1703
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1704
+ </pre>
1655
1705
  <p>
1656
1706
  This program is free software; you can redistribute it and/or modify it
1657
1707
  under the terms of version 2 of the GNU General Public License as published
@@ -1662,9 +1712,11 @@ encoding: UTF-8
1662
1712
  </p>
1663
1713
  <h1>TimeSheets.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1664
1714
  <p>
1665
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1666
- <cs@kde.org>
1715
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1667
1716
  </p>
1717
+ <pre>
1718
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1719
+ </pre>
1668
1720
  <p>
1669
1721
  This program is free software; you can redistribute it and/or modify it
1670
1722
  under the terms of version 2 of the GNU General Public License as published
@@ -1675,9 +1727,11 @@ encoding: UTF-8
1675
1727
  </p>
1676
1728
  <h1>RichTextFunctionHandler.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1677
1729
  <p>
1678
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1679
- <cs@kde.org>
1730
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1680
1731
  </p>
1732
+ <pre>
1733
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1734
+ </pre>
1681
1735
  <p>
1682
1736
  This program is free software; you can redistribute it and/or modify it
1683
1737
  under the terms of version 2 of the GNU General Public License as published
@@ -1688,9 +1742,11 @@ encoding: UTF-8
1688
1742
  </p>
1689
1743
  <h1>RichTextSyntaxRules.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1690
1744
  <p>
1691
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1692
- <cs@kde.org>
1745
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1693
1746
  </p>
1747
+ <pre>
1748
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1749
+ </pre>
1694
1750
  <p>
1695
1751
  This program is free software; you can redistribute it and/or modify it
1696
1752
  under the terms of version 2 of the GNU General Public License as published
@@ -1701,9 +1757,11 @@ encoding: UTF-8
1701
1757
  </p>
1702
1758
  <h1>TableColumnDefinition.rb &#8212; The <a href="TaskJuggler.html">TaskJuggler</a> III <a href="TaskJuggler/Project.html">Project</a> Management Software</h1>
1703
1759
  <p>
1704
- Copyright &#169; 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger
1705
- <cs@kde.org>
1760
+ Copyright &#169; 2006, 2007, 2008, 2009, 2010, 2011
1706
1761
  </p>
1762
+ <pre>
1763
+ by Chris Schlaeger &lt;chris@linux.com&gt;
1764
+ </pre>
1707
1765
  <p>
1708
1766
  This program is free software; you can redistribute it and/or modify it
1709
1767
  under the terms of version 2 of the GNU General Public License as published
@@ -1818,14 +1876,14 @@ be written to $stderr.
1818
1876
  <div class="method-source-code"
1819
1877
  id="new-source">
1820
1878
  <pre>
1821
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 30</span>
1822
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">console</span>)
1823
- 31: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
1824
- 32: <span class="ruby-ivar">@parser</span> = <span class="ruby-keyword kw">nil</span>
1825
- 33: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-constant">MessageHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">console</span>)
1826
- 34: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-value">1</span>
1827
- 35: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">false</span>
1828
- 36: <span class="ruby-keyword kw">end</span></pre>
1879
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 31</span>
1880
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">console</span>)
1881
+ 32: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
1882
+ 33: <span class="ruby-ivar">@parser</span> = <span class="ruby-keyword kw">nil</span>
1883
+ 34: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-constant">MessageHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">console</span>)
1884
+ 35: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-value">1</span>
1885
+ 36: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">false</span>
1886
+ 37: <span class="ruby-keyword kw">end</span></pre>
1829
1887
  </div>
1830
1888
 
1831
1889
  </div>
@@ -1866,32 +1924,32 @@ project, true is returned. Otherwise false.
1866
1924
  <div class="method-source-code"
1867
1925
  id="check-tatus-heet-source">
1868
1926
  <pre>
1869
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 239</span>
1870
- 239: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">fileName</span>)
1871
- 240: <span class="ruby-keyword kw">begin</span>
1872
- 241: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'checkStatusSheet'</span>, <span class="ruby-value str">'Parsing #{fileName} ...'</span>)
1873
- 242: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">ss</span> = <span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-value">:statusSheetFile</span>))
1874
- 243: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>,
1875
- 244: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">0</span>],
1876
- 245: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">nil</span>,
1877
- 246: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'trackingScenarioIdx'</span>],
1878
- 247: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'%Y-%m-%d'</span>,
1879
- 248: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">1</span>],
1880
- 249: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">2</span>],
1881
- 250: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'%Y-%m-%d'</span>,
1882
- 251: <span class="ruby-value str">'selfContained'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span> }
1883
- 252: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
1884
- 253: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">query_dashboard</span>(<span class="ruby-identifier">query</span>).<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span>
1885
- 254: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
1886
- 255: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
1887
- 256: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'check_status_sheet'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
1888
- 257: <span class="ruby-keyword kw">end</span>
1889
- 258: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkStatusSheet'</span>)
1890
- 259: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
1891
- 260: <span class="ruby-keyword kw">end</span>
1892
- 261: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkStatusSheet'</span>)
1893
- 262: <span class="ruby-keyword kw">true</span>
1894
- 263: <span class="ruby-keyword kw">end</span></pre>
1927
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 241</span>
1928
+ 241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">fileName</span>)
1929
+ 242: <span class="ruby-keyword kw">begin</span>
1930
+ 243: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'checkStatusSheet'</span>, <span class="ruby-value str">'Parsing #{fileName} ...'</span>)
1931
+ 244: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">ss</span> = <span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-value">:statusSheetFile</span>))
1932
+ 245: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>,
1933
+ 246: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">0</span>],
1934
+ 247: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">nil</span>,
1935
+ 248: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'trackingScenarioIdx'</span>],
1936
+ 249: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'%Y-%m-%d'</span>,
1937
+ 250: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">1</span>],
1938
+ 251: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">2</span>],
1939
+ 252: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'%Y-%m-%d'</span>,
1940
+ 253: <span class="ruby-value str">'selfContained'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span> }
1941
+ 254: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
1942
+ 255: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">ss</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">query_dashboard</span>(<span class="ruby-identifier">query</span>).<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span>
1943
+ 256: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
1944
+ 257: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
1945
+ 258: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'check_status_sheet'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
1946
+ 259: <span class="ruby-keyword kw">end</span>
1947
+ 260: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkStatusSheet'</span>)
1948
+ 261: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
1949
+ 262: <span class="ruby-keyword kw">end</span>
1950
+ 263: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkStatusSheet'</span>)
1951
+ 264: <span class="ruby-keyword kw">true</span>
1952
+ 265: <span class="ruby-keyword kw">end</span></pre>
1895
1953
  </div>
1896
1954
 
1897
1955
  </div>
@@ -1926,35 +1984,35 @@ project, true is returned. Otherwise false.
1926
1984
  <div class="method-source-code"
1927
1985
  id="check-ime-heet-source">
1928
1986
  <pre>
1929
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 207</span>
1930
- 207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">fileName</span>)
1931
- 208: <span class="ruby-keyword kw">begin</span>
1932
- 209: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'checkTimeSheet'</span>, <span class="ruby-value str">'Parsing #{fileName} ...'</span>)
1933
- 210: <span class="ruby-comment cmt"># Make sure we don't use data from old time sheets or Journal entries.</span>
1934
- 211: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">timeSheets</span>.<span class="ruby-identifier">clear</span>
1935
- 212: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>] = <span class="ruby-constant">Journal</span>.<span class="ruby-identifier">new</span>
1936
- 213: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">ts</span> = <span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-value">:timeSheetFile</span>))
1937
- 214: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">checkTimeSheets</span>
1938
- 215: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>,
1939
- 216: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">resource</span>,
1940
- 217: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">nil</span>,
1941
- 218: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'trackingScenarioIdx'</span>],
1942
- 219: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>,
1943
- 220: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>,
1944
- 221: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'%Y-%m-%d'</span>,
1945
- 222: <span class="ruby-value str">'selfContained'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span> }
1946
- 223: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
1947
- 224: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">resource</span>.<span class="ruby-identifier">query_journal</span>(<span class="ruby-identifier">query</span>).<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span>
1948
- 225: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
1949
- 226: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
1950
- 227: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'check_time_sheet'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
1951
- 228: <span class="ruby-keyword kw">end</span>
1952
- 229: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkTimeSheet'</span>)
1953
- 230: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
1954
- 231: <span class="ruby-keyword kw">end</span>
1955
- 232: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkTimeSheet'</span>)
1956
- 233: <span class="ruby-keyword kw">true</span>
1957
- 234: <span class="ruby-keyword kw">end</span></pre>
1987
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 209</span>
1988
+ 209: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">fileName</span>)
1989
+ 210: <span class="ruby-keyword kw">begin</span>
1990
+ 211: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'checkTimeSheet'</span>, <span class="ruby-value str">'Parsing #{fileName} ...'</span>)
1991
+ 212: <span class="ruby-comment cmt"># Make sure we don't use data from old time sheets or Journal entries.</span>
1992
+ 213: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">timeSheets</span>.<span class="ruby-identifier">clear</span>
1993
+ 214: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>] = <span class="ruby-constant">Journal</span>.<span class="ruby-identifier">new</span>
1994
+ 215: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">ts</span> = <span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-value">:timeSheetFile</span>))
1995
+ 216: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">checkTimeSheets</span>
1996
+ 217: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>,
1997
+ 218: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">resource</span>,
1998
+ 219: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">nil</span>,
1999
+ 220: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'trackingScenarioIdx'</span>],
2000
+ 221: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>,
2001
+ 222: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>,
2002
+ 223: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'%Y-%m-%d'</span>,
2003
+ 224: <span class="ruby-value str">'selfContained'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span> }
2004
+ 225: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
2005
+ 226: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">ts</span>.<span class="ruby-identifier">resource</span>.<span class="ruby-identifier">query_journal</span>(<span class="ruby-identifier">query</span>).<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span>
2006
+ 227: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2007
+ 228: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2008
+ 229: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'check_time_sheet'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2009
+ 230: <span class="ruby-keyword kw">end</span>
2010
+ 231: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkTimeSheet'</span>)
2011
+ 232: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2012
+ 233: <span class="ruby-keyword kw">end</span>
2013
+ 234: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'checkTimeSheet'</span>)
2014
+ 235: <span class="ruby-keyword kw">true</span>
2015
+ 236: <span class="ruby-keyword kw">end</span></pre>
1958
2016
  </div>
1959
2017
 
1960
2018
  </div>
@@ -1987,10 +2045,10 @@ Return the number of errors that had been reported during processing.
1987
2045
  <div class="method-source-code"
1988
2046
  id="errors-source">
1989
2047
  <pre>
1990
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 278</span>
1991
- 278: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">errors</span>
1992
- 279: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">errors</span>
1993
- 280: <span class="ruby-keyword kw">end</span></pre>
2048
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 280</span>
2049
+ 280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">errors</span>
2050
+ 281: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">errors</span>
2051
+ 282: <span class="ruby-keyword kw">end</span></pre>
1994
2052
  </div>
1995
2053
 
1996
2054
  </div>
@@ -2007,7 +2065,7 @@ Return the number of errors that had been reported during processing.
2007
2065
  <div class="method-heading">
2008
2066
 
2009
2067
  <span class="method-name">generateReport</span><span
2010
- class="method-args">(reportId, regExpMode, dynamicAttributes = nil)</span>
2068
+ class="method-args">(reportId, regExpMode, formats, dynamicAttributes = nil)</span>
2011
2069
  <span class="method-click-advice">click to toggle source</span>
2012
2070
 
2013
2071
  </div>
@@ -2017,7 +2075,8 @@ Return the number of errors that had been reported during processing.
2017
2075
  <p>
2018
2076
  Generate the report with the ID <em>reportId</em>. If <em>regExpMode</em>
2019
2077
  is true, <em>reportId</em> is interpreted as a Regular Expression and all
2020
- reports with matching IDs are generated. <em>dynamicAtributes</em> is a <a
2078
+ reports with matching IDs are generated. <em>formats</em> is a list of
2079
+ formats (e. g. :html, :csv, etc.). <em>dynamicAtributes</em> is a <a
2021
2080
  href="String.html">String</a> that may contain attributes to supplement the
2022
2081
  report definition. The <a href="String.html">String</a> must be in TJP
2023
2082
  format and may be nil if no additional attributes are provided.
@@ -2028,21 +2087,21 @@ format and may be nil if no additional attributes are provided.
2028
2087
  <div class="method-source-code"
2029
2088
  id="generate-eport-source">
2030
2089
  <pre>
2031
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 172</span>
2032
- 172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span> = <span class="ruby-keyword kw">nil</span>)
2033
- 173: <span class="ruby-keyword kw">begin</span>
2034
- 174: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'generateReport'</span>, <span class="ruby-value str">'Generating report #{reportId} ...'</span>)
2035
- 175: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>)
2036
- 176: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2037
- 177: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2038
- 178: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'generate_report'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2039
- 179: <span class="ruby-keyword kw">end</span>
2040
- 180: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'generateReport'</span>)
2041
- 181: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2042
- 182: <span class="ruby-keyword kw">end</span>
2043
- 183: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'generateReport'</span>)
2044
- 184: <span class="ruby-keyword kw">true</span>
2045
- 185: <span class="ruby-keyword kw">end</span></pre>
2090
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 174</span>
2091
+ 174: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">formats</span>, <span class="ruby-identifier">dynamicAttributes</span> = <span class="ruby-keyword kw">nil</span>)
2092
+ 175: <span class="ruby-keyword kw">begin</span>
2093
+ 176: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'generateReport'</span>, <span class="ruby-value str">'Generating report #{reportId} ...'</span>)
2094
+ 177: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">formats</span>, <span class="ruby-identifier">dynamicAttributes</span>)
2095
+ 178: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2096
+ 179: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2097
+ 180: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'generate_report'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2098
+ 181: <span class="ruby-keyword kw">end</span>
2099
+ 182: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'generateReport'</span>)
2100
+ 183: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2101
+ 184: <span class="ruby-keyword kw">end</span>
2102
+ 185: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'generateReport'</span>)
2103
+ 186: <span class="ruby-keyword kw">true</span>
2104
+ 187: <span class="ruby-keyword kw">end</span></pre>
2046
2105
  </div>
2047
2106
 
2048
2107
  </div>
@@ -2077,35 +2136,35 @@ otherwise.
2077
2136
  <div class="method-source-code"
2078
2137
  id="generate-eports-source">
2079
2138
  <pre>
2080
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 138</span>
2081
- 138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReports</span>(<span class="ruby-identifier">outputDir</span> = <span class="ruby-value str">'./'</span>)
2082
- 139: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">checkReports</span>
2083
- 140: <span class="ruby-identifier">outputDir</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'/'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">outputDir</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">outputDir</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span>
2084
- 141: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span> = <span class="ruby-identifier">outputDir</span>
2085
- 142: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'reports'</span>, <span class="ruby-value str">'Generating reports ...'</span>)
2086
- 143:
2087
- 144: <span class="ruby-keyword kw">begin</span>
2088
- 145: <span class="ruby-comment cmt">#RubyProf.start</span>
2089
- 146: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">generateReports</span>(<span class="ruby-ivar">@maxCpuCores</span>)
2090
- 147: <span class="ruby-comment cmt">#profile = RubyProf.stop</span>
2091
- 148: <span class="ruby-comment cmt">#printer = RubyProf::GraphHtmlPrinter.new(profile)</span>
2092
- 149: <span class="ruby-comment cmt">#File.open(&quot;profile.html&quot;, &quot;w&quot;) do |file|</span>
2093
- 150: <span class="ruby-comment cmt"># printer.print(file)</span>
2094
- 151: <span class="ruby-comment cmt">#end</span>
2095
- 152: <span class="ruby-comment cmt">#printer = RubyProf::CallTreePrinter.new(profile)</span>
2096
- 153: <span class="ruby-comment cmt">#File.open(&quot;profile.clt&quot;, &quot;w&quot;) do |file|</span>
2097
- 154: <span class="ruby-comment cmt"># printer.print(file)</span>
2098
- 155: <span class="ruby-comment cmt">#end</span>
2099
- 156: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2100
- 157: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2101
- 158: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'generate_reports'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2102
- 159: <span class="ruby-keyword kw">end</span>
2103
- 160: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2104
- 161: <span class="ruby-keyword kw">end</span>
2105
- 162:
2106
- 163: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'reports'</span>)
2107
- 164: <span class="ruby-keyword kw">true</span>
2108
- 165: <span class="ruby-keyword kw">end</span></pre>
2139
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 139</span>
2140
+ 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReports</span>(<span class="ruby-identifier">outputDir</span> = <span class="ruby-value str">'./'</span>)
2141
+ 140: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">checkReports</span>
2142
+ 141: <span class="ruby-identifier">outputDir</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'/'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">outputDir</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">outputDir</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span>
2143
+ 142: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span> = <span class="ruby-identifier">outputDir</span>
2144
+ 143: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'reports'</span>, <span class="ruby-value str">'Generating reports ...'</span>)
2145
+ 144:
2146
+ 145: <span class="ruby-keyword kw">begin</span>
2147
+ 146: <span class="ruby-comment cmt">#RubyProf.start</span>
2148
+ 147: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">generateReports</span>(<span class="ruby-ivar">@maxCpuCores</span>)
2149
+ 148: <span class="ruby-comment cmt">#profile = RubyProf.stop</span>
2150
+ 149: <span class="ruby-comment cmt">#printer = RubyProf::GraphHtmlPrinter.new(profile)</span>
2151
+ 150: <span class="ruby-comment cmt">#File.open(&quot;profile.html&quot;, &quot;w&quot;) do |file|</span>
2152
+ 151: <span class="ruby-comment cmt"># printer.print(file)</span>
2153
+ 152: <span class="ruby-comment cmt">#end</span>
2154
+ 153: <span class="ruby-comment cmt">#printer = RubyProf::CallTreePrinter.new(profile)</span>
2155
+ 154: <span class="ruby-comment cmt">#File.open(&quot;profile.clt&quot;, &quot;w&quot;) do |file|</span>
2156
+ 155: <span class="ruby-comment cmt"># printer.print(file)</span>
2157
+ 156: <span class="ruby-comment cmt">#end</span>
2158
+ 157: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2159
+ 158: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2160
+ 159: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'generate_reports'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2161
+ 160: <span class="ruby-keyword kw">end</span>
2162
+ 161: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2163
+ 162: <span class="ruby-keyword kw">end</span>
2164
+ 163:
2165
+ 164: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'reports'</span>)
2166
+ 165: <span class="ruby-keyword kw">true</span>
2167
+ 166: <span class="ruby-keyword kw">end</span></pre>
2109
2168
  </div>
2110
2169
 
2111
2170
  </div>
@@ -2140,21 +2199,21 @@ List the details of the report with <em>reportId</em> or if
2140
2199
  <div class="method-source-code"
2141
2200
  id="list-eports-source">
2142
2201
  <pre>
2143
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 189</span>
2144
- 189: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
2145
- 190: <span class="ruby-keyword kw">begin</span>
2146
- 191: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'listReports'</span>, <span class="ruby-value str">'Generating report list for #{reportId} ...'</span>)
2147
- 192: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
2148
- 193: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2149
- 194: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2150
- 195: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'list_reports'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2151
- 196: <span class="ruby-keyword kw">end</span>
2152
- 197: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'listReports'</span>)
2153
- 198: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2154
- 199: <span class="ruby-keyword kw">end</span>
2155
- 200: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'listReports'</span>)
2156
- 201: <span class="ruby-keyword kw">true</span>
2157
- 202: <span class="ruby-keyword kw">end</span></pre>
2202
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 191</span>
2203
+ 191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
2204
+ 192: <span class="ruby-keyword kw">begin</span>
2205
+ 193: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'listReports'</span>, <span class="ruby-value str">'Generating report list for #{reportId} ...'</span>)
2206
+ 194: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
2207
+ 195: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2208
+ 196: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2209
+ 197: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'list_reports'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2210
+ 198: <span class="ruby-keyword kw">end</span>
2211
+ 199: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'listReports'</span>)
2212
+ 200: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2213
+ 201: <span class="ruby-keyword kw">end</span>
2214
+ 202: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'listReports'</span>)
2215
+ 203: <span class="ruby-keyword kw">true</span>
2216
+ 204: <span class="ruby-keyword kw">end</span></pre>
2158
2217
  </div>
2159
2218
 
2160
2219
  </div>
@@ -2189,60 +2248,60 @@ of success true is returned. Otherwise false.
2189
2248
  <div class="method-source-code"
2190
2249
  id="parse-source">
2191
2250
  <pre>
2192
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 41</span>
2193
- 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span> = <span class="ruby-keyword kw">false</span>)
2194
- 42: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'parser'</span>, <span class="ruby-value str">'Parsing files ...'</span>)
2195
- 43: <span class="ruby-identifier">master</span> = <span class="ruby-keyword kw">true</span>
2196
- 44: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
2197
- 45:
2198
- 46: <span class="ruby-comment cmt">#RubyProf.start</span>
2199
- 47: <span class="ruby-ivar">@parser</span> = <span class="ruby-constant">ProjectFileParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@messageHandler</span>)
2200
- 48: <span class="ruby-identifier">files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
2201
- 49: <span class="ruby-keyword kw">begin</span>
2202
- 50: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">master</span>)
2203
- 51: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2204
- 52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2205
- 53: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'parse'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2206
- 54: <span class="ruby-keyword kw">end</span>
2207
- 55: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2208
- 56: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2209
- 57: <span class="ruby-keyword kw">end</span>
2210
- 58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">master</span>
2211
- 59: <span class="ruby-comment cmt"># The first file is considered the master file.</span>
2212
- 60: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@project</span> = <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-value">:project</span>)) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
2213
- 61: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2214
- 62: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2215
- 63: <span class="ruby-keyword kw">end</span>
2216
- 64: <span class="ruby-identifier">master</span> = <span class="ruby-keyword kw">false</span>
2217
- 65: <span class="ruby-keyword kw">else</span>
2218
- 66: <span class="ruby-comment cmt"># All other files.</span>
2219
- 67: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">setGlobalMacros</span>
2220
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-value">:propertiesFile</span>) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
2221
- 69: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2222
- 70: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2223
- 71: <span class="ruby-keyword kw">end</span>
2224
- 72: <span class="ruby-keyword kw">end</span>
2225
- 73: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">inputFiles</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span>
2226
- 74: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">close</span>
2227
- 75: <span class="ruby-keyword kw">end</span>
2228
- 76:
2229
- 77: <span class="ruby-comment cmt">#profile = RubyProf.stop</span>
2230
- 78: <span class="ruby-comment cmt">#printer = RubyProf::GraphHtmlPrinter.new(profile)</span>
2231
- 79: <span class="ruby-comment cmt">#File.open(&quot;profile.html&quot;, &quot;w&quot;) do |file|</span>
2232
- 80: <span class="ruby-comment cmt"># printer.print(file)</span>
2233
- 81: <span class="ruby-comment cmt">#end</span>
2234
- 82: <span class="ruby-comment cmt">#printer = RubyProf::CallTreePrinter.new(profile)</span>
2235
- 83: <span class="ruby-comment cmt">#File.open(&quot;profile.clt&quot;, &quot;w&quot;) do |file|</span>
2236
- 84: <span class="ruby-comment cmt"># printer.print(file)</span>
2237
- 85: <span class="ruby-comment cmt">#end</span>
2238
- 86:
2239
- 87: <span class="ruby-comment cmt"># For the report server mode we may need to keep the parser. Otherwise,</span>
2240
- 88: <span class="ruby-comment cmt"># destroy it.</span>
2241
- 89: <span class="ruby-ivar">@parser</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">keepParser</span>
2242
- 90:
2243
- 91: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2244
- 92: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2245
- 93: <span class="ruby-keyword kw">end</span></pre>
2251
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 42</span>
2252
+ 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span> = <span class="ruby-keyword kw">false</span>)
2253
+ 43: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'parser'</span>, <span class="ruby-value str">'Parsing files ...'</span>)
2254
+ 44: <span class="ruby-identifier">master</span> = <span class="ruby-keyword kw">true</span>
2255
+ 45: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
2256
+ 46:
2257
+ 47: <span class="ruby-comment cmt">#RubyProf.start</span>
2258
+ 48: <span class="ruby-ivar">@parser</span> = <span class="ruby-constant">ProjectFileParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@messageHandler</span>)
2259
+ 49: <span class="ruby-identifier">files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
2260
+ 50: <span class="ruby-keyword kw">begin</span>
2261
+ 51: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">master</span>)
2262
+ 52: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2263
+ 53: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2264
+ 54: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'parse'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2265
+ 55: <span class="ruby-keyword kw">end</span>
2266
+ 56: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2267
+ 57: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2268
+ 58: <span class="ruby-keyword kw">end</span>
2269
+ 59: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">master</span>
2270
+ 60: <span class="ruby-comment cmt"># The first file is considered the master file.</span>
2271
+ 61: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@project</span> = <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-value">:project</span>)) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
2272
+ 62: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2273
+ 63: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2274
+ 64: <span class="ruby-keyword kw">end</span>
2275
+ 65: <span class="ruby-identifier">master</span> = <span class="ruby-keyword kw">false</span>
2276
+ 66: <span class="ruby-keyword kw">else</span>
2277
+ 67: <span class="ruby-comment cmt"># All other files.</span>
2278
+ 68: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">setGlobalMacros</span>
2279
+ 69: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-value">:propertiesFile</span>) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
2280
+ 70: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2281
+ 71: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2282
+ 72: <span class="ruby-keyword kw">end</span>
2283
+ 73: <span class="ruby-keyword kw">end</span>
2284
+ 74: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">inputFiles</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span>
2285
+ 75: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">close</span>
2286
+ 76: <span class="ruby-keyword kw">end</span>
2287
+ 77:
2288
+ 78: <span class="ruby-comment cmt">#profile = RubyProf.stop</span>
2289
+ 79: <span class="ruby-comment cmt">#printer = RubyProf::GraphHtmlPrinter.new(profile)</span>
2290
+ 80: <span class="ruby-comment cmt">#File.open(&quot;profile.html&quot;, &quot;w&quot;) do |file|</span>
2291
+ 81: <span class="ruby-comment cmt"># printer.print(file)</span>
2292
+ 82: <span class="ruby-comment cmt">#end</span>
2293
+ 83: <span class="ruby-comment cmt">#printer = RubyProf::CallTreePrinter.new(profile)</span>
2294
+ 84: <span class="ruby-comment cmt">#File.open(&quot;profile.clt&quot;, &quot;w&quot;) do |file|</span>
2295
+ 85: <span class="ruby-comment cmt"># printer.print(file)</span>
2296
+ 86: <span class="ruby-comment cmt">#end</span>
2297
+ 87:
2298
+ 88: <span class="ruby-comment cmt"># For the report server mode we may need to keep the parser. Otherwise,</span>
2299
+ 89: <span class="ruby-comment cmt"># destroy it.</span>
2300
+ 90: <span class="ruby-ivar">@parser</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">keepParser</span>
2301
+ 91:
2302
+ 92: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'parser'</span>)
2303
+ 93: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2304
+ 94: <span class="ruby-keyword kw">end</span></pre>
2246
2305
  </div>
2247
2306
 
2248
2307
  </div>
@@ -2277,24 +2336,24 @@ href="TaskJuggler/TextParser/Rule.html">TextParser::Rule</a> to start with.
2277
2336
  <div class="method-source-code"
2278
2337
  id="parse-ile-source">
2279
2338
  <pre>
2280
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 97</span>
2281
- 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">rule</span>)
2282
- 98: <span class="ruby-keyword kw">begin</span>
2283
- 99: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-keyword kw">false</span>)
2284
- 100: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">inputFiles</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">fileName</span>
2285
- 101: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2286
- 102: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2287
- 103: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'parse_file'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2288
- 104: <span class="ruby-keyword kw">end</span>
2289
- 105: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2290
- 106: <span class="ruby-keyword kw">end</span>
2291
- 107:
2292
- 108: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">setGlobalMacros</span>
2293
- 109: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">res</span> = <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">rule</span>)) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
2294
- 110:
2295
- 111: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">close</span>
2296
- 112: <span class="ruby-identifier">res</span>
2297
- 113: <span class="ruby-keyword kw">end</span></pre>
2339
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 98</span>
2340
+ 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">rule</span>)
2341
+ 99: <span class="ruby-keyword kw">begin</span>
2342
+ 100: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-keyword kw">false</span>)
2343
+ 101: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">inputFiles</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">fileName</span>
2344
+ 102: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2345
+ 103: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2346
+ 104: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'parse_file'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2347
+ 105: <span class="ruby-keyword kw">end</span>
2348
+ 106: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2349
+ 107: <span class="ruby-keyword kw">end</span>
2350
+ 108:
2351
+ 109: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">setGlobalMacros</span>
2352
+ 110: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">res</span> = <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">rule</span>)) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
2353
+ 111:
2354
+ 112: <span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">close</span>
2355
+ 113: <span class="ruby-identifier">res</span>
2356
+ 114: <span class="ruby-keyword kw">end</span></pre>
2298
2357
  </div>
2299
2358
 
2300
2359
  </div>
@@ -2327,11 +2386,11 @@ Return the ID of the project or nil if no project has been loaded yet.
2327
2386
  <div class="method-source-code"
2328
2387
  id="project-d-source">
2329
2388
  <pre>
2330
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 266</span>
2331
- 266: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">projectId</span>
2332
- 267: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">nil?</span>
2333
- 268: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'projectid'</span>]
2334
- 269: <span class="ruby-keyword kw">end</span></pre>
2389
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 268</span>
2390
+ 268: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">projectId</span>
2391
+ 269: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">nil?</span>
2392
+ 270: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'projectid'</span>]
2393
+ 271: <span class="ruby-keyword kw">end</span></pre>
2335
2394
  </div>
2336
2395
 
2337
2396
  </div>
@@ -2364,11 +2423,11 @@ Return the name of the project or nil if no project has been loaded yet.
2364
2423
  <div class="method-source-code"
2365
2424
  id="project-ame-source">
2366
2425
  <pre>
2367
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 272</span>
2368
- 272: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">projectName</span>
2369
- 273: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">nil?</span>
2370
- 274: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'name'</span>]
2371
- 275: <span class="ruby-keyword kw">end</span></pre>
2426
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 274</span>
2427
+ 274: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">projectName</span>
2428
+ 275: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">nil?</span>
2429
+ 276: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'name'</span>]
2430
+ 277: <span class="ruby-keyword kw">end</span></pre>
2372
2431
  </div>
2373
2432
 
2374
2433
  </div>
@@ -2402,24 +2461,24 @@ detected, false otherwise.
2402
2461
  <div class="method-source-code"
2403
2462
  id="schedule-source">
2404
2463
  <pre>
2405
- <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 117</span>
2406
- 117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">schedule</span>
2407
- 118: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'scheduler'</span>, <span class="ruby-value str">'Scheduling project ...'</span>)
2408
- 119: <span class="ruby-comment cmt">#puts @project.to_s</span>
2409
- 120: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
2410
- 121:
2411
- 122: <span class="ruby-keyword kw">begin</span>
2412
- 123: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">schedule</span>
2413
- 124: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2414
- 125: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2415
- 126: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'scheduling_error'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2416
- 127: <span class="ruby-keyword kw">end</span>
2417
- 128: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2418
- 129: <span class="ruby-keyword kw">end</span>
2419
- 130:
2420
- 131: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'scheduler'</span>)
2421
- 132: <span class="ruby-identifier">res</span>
2422
- 133: <span class="ruby-keyword kw">end</span></pre>
2464
+ <span class="ruby-comment cmt"># File lib/TaskJuggler.rb, line 118</span>
2465
+ 118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">schedule</span>
2466
+ 119: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'scheduler'</span>, <span class="ruby-value str">'Scheduling project ...'</span>)
2467
+ 120: <span class="ruby-comment cmt">#puts @project.to_s</span>
2468
+ 121: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
2469
+ 122:
2470
+ 123: <span class="ruby-keyword kw">begin</span>
2471
+ 124: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">schedule</span>
2472
+ 125: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2473
+ 126: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
2474
+ 127: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">critical</span>(<span class="ruby-value str">'scheduling_error'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>)
2475
+ 128: <span class="ruby-keyword kw">end</span>
2476
+ 129: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2477
+ 130: <span class="ruby-keyword kw">end</span>
2478
+ 131:
2479
+ 132: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'scheduler'</span>)
2480
+ 133: <span class="ruby-identifier">res</span>
2481
+ 134: <span class="ruby-keyword kw">end</span></pre>
2423
2482
  </div>
2424
2483
 
2425
2484
  </div>