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
@@ -150,6 +150,8 @@
150
150
 
151
151
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
152
152
 
153
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
154
+
153
155
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
154
156
 
155
157
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -228,6 +230,8 @@
228
230
 
229
231
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
230
232
 
233
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
234
+
231
235
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
232
236
 
233
237
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -260,6 +264,8 @@
260
264
 
261
265
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
262
266
 
267
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
268
+
263
269
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
264
270
 
265
271
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -540,6 +546,8 @@
540
546
 
541
547
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
542
548
 
549
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
550
+
543
551
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
544
552
 
545
553
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -566,8 +574,6 @@
566
574
 
567
575
  <li><a href="../String.html">String</a></li>
568
576
 
569
- <li><a href="../StringIO.html">StringIO</a></li>
570
-
571
577
  </ul>
572
578
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
573
579
  </div>
@@ -605,7 +611,7 @@ task (task with sub-tasks).
605
611
  <div class="method-heading">
606
612
 
607
613
  <span class="method-name">new</span><span
608
- class="method-args">(task, scenarioIdx, lineHeight, xStart, xEnd, y)</span>
614
+ class="method-args">(lineHeight, xStart, xEnd, y)</span>
609
615
  <span class="method-click-advice">click to toggle source</span>
610
616
 
611
617
  </div>
@@ -625,15 +631,13 @@ container extends over the edges due to the shape of the jags.
625
631
  <div class="method-source-code"
626
632
  id="new-source">
627
633
  <pre>
628
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 29</span>
629
- 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineHeight</span>, <span class="ruby-identifier">xStart</span>, <span class="ruby-identifier">xEnd</span>, <span class="ruby-identifier">y</span>)
630
- 30: <span class="ruby-ivar">@task</span> = <span class="ruby-identifier">task</span>
631
- 31: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-identifier">scenarioIdx</span>
632
- 32: <span class="ruby-ivar">@lineHeight</span> = <span class="ruby-identifier">lineHeight</span>
633
- 33: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">xStart</span>
634
- 34: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">xEnd</span>
635
- 35: <span class="ruby-ivar">@y</span> = <span class="ruby-identifier">y</span>
636
- 36: <span class="ruby-keyword kw">end</span></pre>
634
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 30</span>
635
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">lineHeight</span>, <span class="ruby-identifier">xStart</span>, <span class="ruby-identifier">xEnd</span>, <span class="ruby-identifier">y</span>)
636
+ 31: <span class="ruby-ivar">@lineHeight</span> = <span class="ruby-identifier">lineHeight</span>
637
+ 32: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">xStart</span>
638
+ 33: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">xEnd</span>
639
+ 34: <span class="ruby-ivar">@y</span> = <span class="ruby-identifier">y</span>
640
+ 35: <span class="ruby-keyword kw">end</span></pre>
637
641
  </div>
638
642
 
639
643
  </div>
@@ -670,21 +674,21 @@ container extends over the edges due to the shape of the jags.
670
674
  <div class="method-source-code"
671
675
  id="add-locked-ones-source">
672
676
  <pre>
673
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 60</span>
674
- 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-identifier">router</span>)
675
- 61: <span class="ruby-comment cmt"># Horizontal block</span>
676
- 62: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> (<span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>) <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>,
677
- 63: <span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span>, <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">5</span>, <span class="ruby-keyword kw">true</span>,
678
- 64: <span class="ruby-keyword kw">false</span>)
679
- 65: <span class="ruby-comment cmt"># Block for arrowhead.</span>
680
- 66: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">9</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> (<span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>) <span class="ruby-operator">-</span> <span class="ruby-value">7</span>, <span class="ruby-value">10</span>, <span class="ruby-value">15</span>,
681
- 67: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>)
682
- 68: <span class="ruby-comment cmt"># Vertical block for end cap</span>
683
- 69: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>, <span class="ruby-ivar">@y</span>, <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">5</span>, <span class="ruby-ivar">@lineHeight</span>,
684
- 70: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
685
- 71: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>, <span class="ruby-ivar">@y</span>, <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">5</span>, <span class="ruby-ivar">@lineHeight</span>,
686
- 72: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
687
- 73: <span class="ruby-keyword kw">end</span></pre>
677
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 59</span>
678
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-identifier">router</span>)
679
+ 60: <span class="ruby-comment cmt"># Horizontal block</span>
680
+ 61: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> (<span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>) <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>,
681
+ 62: <span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span>, <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">5</span>, <span class="ruby-keyword kw">true</span>,
682
+ 63: <span class="ruby-keyword kw">false</span>)
683
+ 64: <span class="ruby-comment cmt"># Block for arrowhead.</span>
684
+ 65: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">9</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> (<span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>) <span class="ruby-operator">-</span> <span class="ruby-value">7</span>, <span class="ruby-value">10</span>, <span class="ruby-value">15</span>,
685
+ 66: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>)
686
+ 67: <span class="ruby-comment cmt"># Vertical block for end cap</span>
687
+ 68: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>, <span class="ruby-ivar">@y</span>, <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">5</span>, <span class="ruby-ivar">@lineHeight</span>,
688
+ 69: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
689
+ 70: <span class="ruby-identifier">router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>, <span class="ruby-ivar">@y</span>, <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">5</span>, <span class="ruby-ivar">@lineHeight</span>,
690
+ 71: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
691
+ 72: <span class="ruby-keyword kw">end</span></pre>
688
692
  </div>
689
693
 
690
694
  </div>
@@ -717,10 +721,10 @@ Return the point [ x, y ] where task end dependency lines should end at.
717
721
  <div class="method-source-code"
718
722
  id="end-ep-ine-nd-source">
719
723
  <pre>
720
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 56</span>
721
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endDepLineEnd</span>
722
- 57: [ <span class="ruby-ivar">@end</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
723
- 58: <span class="ruby-keyword kw">end</span></pre>
724
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 55</span>
725
+ 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endDepLineEnd</span>
726
+ 56: [ <span class="ruby-ivar">@end</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
727
+ 57: <span class="ruby-keyword kw">end</span></pre>
724
728
  </div>
725
729
 
726
730
  </div>
@@ -754,10 +758,10 @@ from.
754
758
  <div class="method-source-code"
755
759
  id="end-ep-ine-tart-source">
756
760
  <pre>
757
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 51</span>
758
- 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endDepLineStart</span>
759
- 52: [ <span class="ruby-ivar">@end</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
760
- 53: <span class="ruby-keyword kw">end</span></pre>
761
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 50</span>
762
+ 50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endDepLineStart</span>
763
+ 51: [ <span class="ruby-ivar">@end</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
764
+ 52: <span class="ruby-keyword kw">end</span></pre>
761
765
  </div>
762
766
 
763
767
  </div>
@@ -790,10 +794,10 @@ Return the point [ x, y ] where task start dependency lines should end at.
790
794
  <div class="method-source-code"
791
795
  id="start-ep-ine-nd-source">
792
796
  <pre>
793
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 45</span>
794
- 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startDepLineEnd</span>
795
- 46: [ <span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
796
- 47: <span class="ruby-keyword kw">end</span></pre>
797
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 44</span>
798
+ 44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startDepLineEnd</span>
799
+ 45: [ <span class="ruby-ivar">@start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
800
+ 46: <span class="ruby-keyword kw">end</span></pre>
797
801
  </div>
798
802
 
799
803
  </div>
@@ -827,10 +831,10 @@ from.
827
831
  <div class="method-source-code"
828
832
  id="start-ep-ine-tart-source">
829
833
  <pre>
830
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 40</span>
831
- 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startDepLineStart</span>
832
- 41: [ <span class="ruby-ivar">@start</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
833
- 42: <span class="ruby-keyword kw">end</span></pre>
834
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 39</span>
835
+ 39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startDepLineStart</span>
836
+ 40: [ <span class="ruby-ivar">@start</span>, <span class="ruby-ivar">@y</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span> ]
837
+ 41: <span class="ruby-keyword kw">end</span></pre>
834
838
  </div>
835
839
 
836
840
  </div>
@@ -864,30 +868,30 @@ href="GanttContainer.html">GanttContainer</a> into HTML elements.
864
868
  <div class="method-source-code"
865
869
  id="to-html-source">
866
870
  <pre>
867
- <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 77</span>
868
- 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
869
- 78: <span class="ruby-identifier">xStart</span> = <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">to_i</span>
870
- 79: <span class="ruby-identifier">yCenter</span> = (<span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
871
- 80: <span class="ruby-identifier">width</span> = <span class="ruby-ivar">@end</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
872
- 81:
873
- 82: <span class="ruby-identifier">html</span> = []
874
- 83:
875
- 84: <span class="ruby-comment cmt"># Invisible trigger frame for tooltips.</span>
876
- 85: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rectToHTML</span>(<span class="ruby-identifier">xStart</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">width</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@lineHeight</span>,
877
- 86: <span class="ruby-value str">'tj_gantt_frame'</span>)
878
- 87: <span class="ruby-comment cmt"># If the container is too small we make it wider so it is recognizeable.</span>
879
- 88: <span class="ruby-identifier">xStart</span> <span class="ruby-operator">-=</span> (<span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) <span class="ruby-operator">-</span> (<span class="ruby-identifier">width</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">2</span>
880
- 89:
881
- 90: <span class="ruby-comment cmt"># The bar</span>
882
- 91: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rectToHTML</span>(<span class="ruby-identifier">xStart</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-identifier">yCenter</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>,
883
- 92: <span class="ruby-identifier">width</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span>, <span class="ruby-identifier">@@size</span>, <span class="ruby-value str">'containerbar'</span>)
884
- 93: <span class="ruby-comment cmt"># The left jag</span>
885
- 94: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">jagToHTML</span>(<span class="ruby-identifier">xStart</span>, <span class="ruby-identifier">yCenter</span>)
886
- 95: <span class="ruby-comment cmt"># The right jag</span>
887
- 96: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">jagToHTML</span>(<span class="ruby-identifier">xStart</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">width</span>, <span class="ruby-identifier">yCenter</span>)
888
- 97:
889
- 98: <span class="ruby-identifier">html</span>
890
- 99: <span class="ruby-keyword kw">end</span></pre>
871
+ <span class="ruby-comment cmt"># File lib/reports/GanttContainer.rb, line 76</span>
872
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
873
+ 77: <span class="ruby-identifier">xStart</span> = <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">to_i</span>
874
+ 78: <span class="ruby-identifier">yCenter</span> = (<span class="ruby-ivar">@lineHeight</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
875
+ 79: <span class="ruby-identifier">width</span> = <span class="ruby-ivar">@end</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
876
+ 80:
877
+ 81: <span class="ruby-identifier">html</span> = []
878
+ 82:
879
+ 83: <span class="ruby-comment cmt"># Invisible trigger frame for tooltips.</span>
880
+ 84: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rectToHTML</span>(<span class="ruby-identifier">xStart</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">width</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span>, <span class="ruby-ivar">@lineHeight</span>,
881
+ 85: <span class="ruby-value str">'tj_gantt_frame'</span>)
882
+ 86: <span class="ruby-comment cmt"># If the container is too small we make it wider so it is recognizeable.</span>
883
+ 87: <span class="ruby-identifier">xStart</span> <span class="ruby-operator">-=</span> (<span class="ruby-identifier">@@size</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) <span class="ruby-operator">-</span> (<span class="ruby-identifier">width</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">2</span>
884
+ 88:
885
+ 89: <span class="ruby-comment cmt"># The bar</span>
886
+ 90: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rectToHTML</span>(<span class="ruby-identifier">xStart</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>, <span class="ruby-identifier">yCenter</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">@@size</span>,
887
+ 91: <span class="ruby-identifier">width</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-identifier">@@size</span>, <span class="ruby-identifier">@@size</span>, <span class="ruby-value str">'containerbar'</span>)
888
+ 92: <span class="ruby-comment cmt"># The left jag</span>
889
+ 93: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">jagToHTML</span>(<span class="ruby-identifier">xStart</span>, <span class="ruby-identifier">yCenter</span>)
890
+ 94: <span class="ruby-comment cmt"># The right jag</span>
891
+ 95: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">jagToHTML</span>(<span class="ruby-identifier">xStart</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">width</span>, <span class="ruby-identifier">yCenter</span>)
892
+ 96:
893
+ 97: <span class="ruby-identifier">html</span>
894
+ 98: <span class="ruby-keyword kw">end</span></pre>
891
895
  </div>
892
896
 
893
897
  </div>
@@ -133,6 +133,8 @@
133
133
 
134
134
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
135
135
 
136
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
137
+
136
138
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
137
139
 
138
140
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -211,6 +213,8 @@
211
213
 
212
214
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
213
215
 
216
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
217
+
214
218
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
215
219
 
216
220
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -243,6 +247,8 @@
243
247
 
244
248
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
245
249
 
250
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
251
+
246
252
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
247
253
 
248
254
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -523,6 +529,8 @@
523
529
 
524
530
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
525
531
 
532
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
533
+
526
534
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
527
535
 
528
536
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -549,8 +557,6 @@
549
557
 
550
558
  <li><a href="../String.html">String</a></li>
551
559
 
552
- <li><a href="../StringIO.html">StringIO</a></li>
553
-
554
560
  </ul>
555
561
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
556
562
  </div>
@@ -675,28 +681,28 @@ scales for the header.
675
681
  <div class="method-source-code"
676
682
  id="new-source">
677
683
  <pre>
678
- <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 27</span>
679
- 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">chart</span>)
680
- 28: <span class="ruby-ivar">@chart</span> = <span class="ruby-identifier">chart</span>
681
- 29:
682
- 30: <span class="ruby-ivar">@largeScale</span> = []
683
- 31: <span class="ruby-ivar">@smallScale</span> = []
684
- 32:
685
- 33: <span class="ruby-comment cmt"># Positions where chart should be marked with vertical lines that match</span>
686
- 34: <span class="ruby-comment cmt"># the large scale.</span>
687
- 35: <span class="ruby-ivar">@gridLines</span> = []
688
- 36:
689
- 37: <span class="ruby-comment cmt"># X coordinate of the &quot;now&quot; line. nil if &quot;now&quot; is off-chart.</span>
690
- 38: <span class="ruby-ivar">@nowLineX</span> = <span class="ruby-keyword kw">nil</span>
691
- 39:
692
- 40: <span class="ruby-comment cmt"># The x coordinates and width of the cells created by the small scale. The</span>
693
- 41: <span class="ruby-comment cmt"># values are stored as [ x, w ].</span>
694
- 42: <span class="ruby-ivar">@cellStartDates</span> = []
695
- 43: <span class="ruby-comment cmt"># The height of the header in pixels.</span>
696
- 44: <span class="ruby-ivar">@height</span> = <span class="ruby-value">39</span>
697
- 45:
698
- 46: <span class="ruby-identifier">generate</span>
699
- 47: <span class="ruby-keyword kw">end</span></pre>
684
+ <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 28</span>
685
+ 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">chart</span>)
686
+ 29: <span class="ruby-ivar">@chart</span> = <span class="ruby-identifier">chart</span>
687
+ 30:
688
+ 31: <span class="ruby-ivar">@largeScale</span> = []
689
+ 32: <span class="ruby-ivar">@smallScale</span> = []
690
+ 33:
691
+ 34: <span class="ruby-comment cmt"># Positions where chart should be marked with vertical lines that match</span>
692
+ 35: <span class="ruby-comment cmt"># the large scale.</span>
693
+ 36: <span class="ruby-ivar">@gridLines</span> = []
694
+ 37:
695
+ 38: <span class="ruby-comment cmt"># X coordinate of the &quot;now&quot; line. nil if &quot;now&quot; is off-chart.</span>
696
+ 39: <span class="ruby-ivar">@nowLineX</span> = <span class="ruby-keyword kw">nil</span>
697
+ 40:
698
+ 41: <span class="ruby-comment cmt"># The x coordinates and width of the cells created by the small scale. The</span>
699
+ 42: <span class="ruby-comment cmt"># values are stored as [ x, w ].</span>
700
+ 43: <span class="ruby-ivar">@cellStartDates</span> = []
701
+ 44: <span class="ruby-comment cmt"># The height of the header in pixels.</span>
702
+ 45: <span class="ruby-ivar">@height</span> = <span class="ruby-value">39</span>
703
+ 46:
704
+ 47: <span class="ruby-identifier">generate</span>
705
+ 48: <span class="ruby-keyword kw">end</span></pre>
700
706
  </div>
701
707
 
702
708
  </div>
@@ -735,18 +741,18 @@ Convert the header into an HTML format.
735
741
  <div class="method-source-code"
736
742
  id="to-html-source">
737
743
  <pre>
738
- <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 50</span>
739
- 50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
740
- 51: <span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>,
741
- 52: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;margin:0px; padding:0px; &quot;</span> <span class="ruby-operator">+</span>
742
- 53: <span class="ruby-value str">&quot;position:relative; &quot;</span> <span class="ruby-operator">+</span>
743
- 54: <span class="ruby-node">&quot;width:#{@chart.width.to_i}px; &quot;</span> <span class="ruby-operator">+</span>
744
- 55: <span class="ruby-node">&quot;height:#{@height.to_i}px; &quot;</span> <span class="ruby-operator">+</span>
745
- 56: <span class="ruby-node">&quot;font-size:#{(@height / 4).to_i}px; &quot;</span>)
746
- 57: <span class="ruby-ivar">@largeScale</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_html</span> }
747
- 58: <span class="ruby-ivar">@smallScale</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_html</span> }
748
- 59: <span class="ruby-identifier">div</span>
749
- 60: <span class="ruby-keyword kw">end</span></pre>
744
+ <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 51</span>
745
+ 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
746
+ 52: <span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>,
747
+ 53: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;margin:0px; padding:0px; &quot;</span> <span class="ruby-operator">+</span>
748
+ 54: <span class="ruby-value str">&quot;position:relative; &quot;</span> <span class="ruby-operator">+</span>
749
+ 55: <span class="ruby-node">&quot;width:#{@chart.width.to_i}px; &quot;</span> <span class="ruby-operator">+</span>
750
+ 56: <span class="ruby-node">&quot;height:#{@height.to_i}px; &quot;</span> <span class="ruby-operator">+</span>
751
+ 57: <span class="ruby-node">&quot;font-size:#{(@height / 4).to_i}px; &quot;</span>)
752
+ 58: <span class="ruby-ivar">@largeScale</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_html</span> }
753
+ 59: <span class="ruby-ivar">@smallScale</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_html</span> }
754
+ 60: <span class="ruby-identifier">div</span>
755
+ 61: <span class="ruby-keyword kw">end</span></pre>
750
756
  </div>
751
757
 
752
758
  </div>
@@ -785,40 +791,40 @@ Generate the actual scale cells.
785
791
  <div class="method-source-code"
786
792
  id="gen-eader-cale-source">
787
793
  <pre>
788
- <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 104</span>
789
- 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-identifier">scale</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">h</span>, <span class="ruby-identifier">beginOfFunc</span>, <span class="ruby-identifier">sameTimeNextFunc</span>, <span class="ruby-identifier">nameFunc</span>)
790
- 105: <span class="ruby-comment cmt"># The beginOfWeek function needs a parameter, so we have to handle it as a</span>
791
- 106: <span class="ruby-comment cmt"># special case.</span>
792
- 107: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">beginOfFunc</span> <span class="ruby-operator">==</span> <span class="ruby-value">:beginOfWeek</span>
793
- 108: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">beginOfFunc</span>, <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">weekStartsMonday</span>)
794
- 109: <span class="ruby-keyword kw">else</span>
795
- 110: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">beginOfFunc</span>)
796
- 111: <span class="ruby-keyword kw">end</span>
797
- 112:
798
- 113: <span class="ruby-comment cmt"># Now we iterate of the report period in steps defined by</span>
799
- 114: <span class="ruby-comment cmt"># sameTimeNextFunc. For each time slot we generate GanttHeaderScaleItem</span>
800
- 115: <span class="ruby-comment cmt"># object and append it to the scale.</span>
801
- 116: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">end</span>
802
- 117: <span class="ruby-identifier">nextT</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">sameTimeNextFunc</span>)
803
- 118: <span class="ruby-comment cmt"># Determine the end of the cell. We keep 1 pixel for the boundary.</span>
804
- 119: <span class="ruby-identifier">w</span> = (<span class="ruby-identifier">xR</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">dateToX</span>(<span class="ruby-identifier">nextT</span>).<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">-</span> (<span class="ruby-identifier">x</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">dateToX</span>(<span class="ruby-identifier">t</span>).<span class="ruby-identifier">to_i</span>)
805
- 120: <span class="ruby-comment cmt"># We collect the positions of the large grid scale marks for later use</span>
806
- 121: <span class="ruby-comment cmt"># in the chart.</span>
807
- 122: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scale</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@largeScale</span>
808
- 123: <span class="ruby-ivar">@gridLines</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">xR</span>
809
- 124: <span class="ruby-keyword kw">else</span>
810
- 125: <span class="ruby-ivar">@cellStartDates</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span>
811
- 126: <span class="ruby-keyword kw">end</span>
812
- 127: <span class="ruby-comment cmt"># Again, nameFunc needs special handling for the week case due to the</span>
813
- 128: <span class="ruby-comment cmt"># extra parameter.</span>
814
- 129: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">nameFunc</span> <span class="ruby-operator">==</span> <span class="ruby-value">:week</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">nameFunc</span>, <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">weekStartsMonday</span>) <span class="ruby-operator">:</span>
815
- 130: <span class="ruby-identifier">t</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">nameFunc</span>)
816
- 131: <span class="ruby-identifier">scale</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">GanttHeaderScaleItem</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">w</span>, <span class="ruby-identifier">h</span>)
817
- 132: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">nextT</span>
818
- 133: <span class="ruby-keyword kw">end</span>
819
- 134: <span class="ruby-comment cmt"># Add the end date of the last cell when generating the small scale.</span>
820
- 135: <span class="ruby-ivar">@cellStartDates</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scale</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@smallScale</span>
821
- 136: <span class="ruby-keyword kw">end</span></pre>
794
+ <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 105</span>
795
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-identifier">scale</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">h</span>, <span class="ruby-identifier">beginOfFunc</span>, <span class="ruby-identifier">sameTimeNextFunc</span>, <span class="ruby-identifier">nameFunc</span>)
796
+ 106: <span class="ruby-comment cmt"># The beginOfWeek function needs a parameter, so we have to handle it as a</span>
797
+ 107: <span class="ruby-comment cmt"># special case.</span>
798
+ 108: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">beginOfFunc</span> <span class="ruby-operator">==</span> <span class="ruby-value">:beginOfWeek</span>
799
+ 109: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">beginOfFunc</span>, <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">weekStartsMonday</span>)
800
+ 110: <span class="ruby-keyword kw">else</span>
801
+ 111: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">beginOfFunc</span>)
802
+ 112: <span class="ruby-keyword kw">end</span>
803
+ 113:
804
+ 114: <span class="ruby-comment cmt"># Now we iterate of the report period in steps defined by</span>
805
+ 115: <span class="ruby-comment cmt"># sameTimeNextFunc. For each time slot we generate GanttHeaderScaleItem</span>
806
+ 116: <span class="ruby-comment cmt"># object and append it to the scale.</span>
807
+ 117: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">end</span>
808
+ 118: <span class="ruby-identifier">nextT</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">sameTimeNextFunc</span>)
809
+ 119: <span class="ruby-comment cmt"># Determine the end of the cell. We keep 1 pixel for the boundary.</span>
810
+ 120: <span class="ruby-identifier">w</span> = (<span class="ruby-identifier">xR</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">dateToX</span>(<span class="ruby-identifier">nextT</span>).<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">-</span> (<span class="ruby-identifier">x</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">dateToX</span>(<span class="ruby-identifier">t</span>).<span class="ruby-identifier">to_i</span>)
811
+ 121: <span class="ruby-comment cmt"># We collect the positions of the large grid scale marks for later use</span>
812
+ 122: <span class="ruby-comment cmt"># in the chart.</span>
813
+ 123: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scale</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@largeScale</span>
814
+ 124: <span class="ruby-ivar">@gridLines</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">xR</span>
815
+ 125: <span class="ruby-keyword kw">else</span>
816
+ 126: <span class="ruby-ivar">@cellStartDates</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span>
817
+ 127: <span class="ruby-keyword kw">end</span>
818
+ 128: <span class="ruby-comment cmt"># Again, nameFunc needs special handling for the week case due to the</span>
819
+ 129: <span class="ruby-comment cmt"># extra parameter.</span>
820
+ 130: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">nameFunc</span> <span class="ruby-operator">==</span> <span class="ruby-value">:week</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">nameFunc</span>, <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">weekStartsMonday</span>) <span class="ruby-operator">:</span>
821
+ 131: <span class="ruby-identifier">t</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">nameFunc</span>)
822
+ 132: <span class="ruby-identifier">scale</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">GanttHeaderScaleItem</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">w</span>, <span class="ruby-identifier">h</span>)
823
+ 133: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">nextT</span>
824
+ 134: <span class="ruby-keyword kw">end</span>
825
+ 135: <span class="ruby-comment cmt"># Add the end date of the last cell when generating the small scale.</span>
826
+ 136: <span class="ruby-ivar">@cellStartDates</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scale</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@smallScale</span>
827
+ 137: <span class="ruby-keyword kw">end</span></pre>
822
828
  </div>
823
829
 
824
830
  </div>
@@ -852,43 +858,43 @@ selected scale) for the lower and upper header line.
852
858
  <div class="method-source-code"
853
859
  id="generate-source">
854
860
  <pre>
855
- <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 66</span>
856
- 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
857
- 67: <span class="ruby-comment cmt"># The 2 header lines are separated by a 1 pixel boundary.</span>
858
- 68: <span class="ruby-identifier">h</span> = ((<span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
859
- 69: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">scale</span>[<span class="ruby-value str">'name'</span>]
860
- 70: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'hour'</span>
861
- 71: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:midnight</span>, <span class="ruby-value">:sameTimeNextDay</span>,
862
- 72: <span class="ruby-value">:weekdayAndDate</span>)
863
- 73: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfHour</span>, <span class="ruby-value">:sameTimeNextHour</span>,
864
- 74: <span class="ruby-value">:hour</span>)
865
- 75: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'day'</span>
866
- 76: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfMonth</span>, <span class="ruby-value">:sameTimeNextMonth</span>,
867
- 77: <span class="ruby-value">:monthAndYear</span>)
868
- 78: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:midnight</span>, <span class="ruby-value">:sameTimeNextDay</span>, <span class="ruby-value">:day</span>)
869
- 79: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'week'</span>
870
- 80: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfMonth</span>, <span class="ruby-value">:sameTimeNextMonth</span>,
871
- 81: <span class="ruby-value">:monthAndYear</span>)
872
- 82: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfWeek</span>, <span class="ruby-value">:sameTimeNextWeek</span>,
873
- 83: <span class="ruby-value">:week</span>)
874
- 84: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'month'</span>
875
- 85: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfYear</span>, <span class="ruby-value">:sameTimeNextYear</span>, <span class="ruby-value">:year</span>)
876
- 86: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfMonth</span>, <span class="ruby-value">:sameTimeNextMonth</span>,
877
- 87: <span class="ruby-value">:shortMonthName</span>)
878
- 88: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'quarter'</span>
879
- 89: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfYear</span>, <span class="ruby-value">:sameTimeNextYear</span>, <span class="ruby-value">:year</span>)
880
- 90: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfQuarter</span>,
881
- 91: <span class="ruby-value">:sameTimeNextQuarter</span>, <span class="ruby-value">:quarterName</span>)
882
- 92: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'year'</span>
883
- 93: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfYear</span>, <span class="ruby-value">:sameTimeNextYear</span>,
884
- 94: <span class="ruby-value">:year</span>)
885
- 95: <span class="ruby-keyword kw">else</span>
886
- 96: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale: #{@chart.scale['name']}&quot;</span>
887
- 97: <span class="ruby-keyword kw">end</span>
888
- 98:
889
- 99: <span class="ruby-identifier">nlx</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">dateToX</span>(<span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">now</span>)
890
- 100: <span class="ruby-ivar">@nowLineX</span> = <span class="ruby-identifier">nlx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">nlx</span>
891
- 101: <span class="ruby-keyword kw">end</span></pre>
861
+ <span class="ruby-comment cmt"># File lib/reports/GanttHeader.rb, line 67</span>
862
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
863
+ 68: <span class="ruby-comment cmt"># The 2 header lines are separated by a 1 pixel boundary.</span>
864
+ 69: <span class="ruby-identifier">h</span> = ((<span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
865
+ 70: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">scale</span>[<span class="ruby-value str">'name'</span>]
866
+ 71: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'hour'</span>
867
+ 72: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:midnight</span>, <span class="ruby-value">:sameTimeNextDay</span>,
868
+ 73: <span class="ruby-value">:weekdayAndDate</span>)
869
+ 74: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfHour</span>, <span class="ruby-value">:sameTimeNextHour</span>,
870
+ 75: <span class="ruby-value">:hour</span>)
871
+ 76: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'day'</span>
872
+ 77: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfMonth</span>, <span class="ruby-value">:sameTimeNextMonth</span>,
873
+ 78: <span class="ruby-value">:monthAndYear</span>)
874
+ 79: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:midnight</span>, <span class="ruby-value">:sameTimeNextDay</span>, <span class="ruby-value">:day</span>)
875
+ 80: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'week'</span>
876
+ 81: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfMonth</span>, <span class="ruby-value">:sameTimeNextMonth</span>,
877
+ 82: <span class="ruby-value">:monthAndYear</span>)
878
+ 83: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfWeek</span>, <span class="ruby-value">:sameTimeNextWeek</span>,
879
+ 84: <span class="ruby-value">:week</span>)
880
+ 85: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'month'</span>
881
+ 86: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfYear</span>, <span class="ruby-value">:sameTimeNextYear</span>, <span class="ruby-value">:year</span>)
882
+ 87: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfMonth</span>, <span class="ruby-value">:sameTimeNextMonth</span>,
883
+ 88: <span class="ruby-value">:shortMonthName</span>)
884
+ 89: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'quarter'</span>
885
+ 90: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@largeScale</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfYear</span>, <span class="ruby-value">:sameTimeNextYear</span>, <span class="ruby-value">:year</span>)
886
+ 91: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfQuarter</span>,
887
+ 92: <span class="ruby-value">:sameTimeNextQuarter</span>, <span class="ruby-value">:quarterName</span>)
888
+ 93: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'year'</span>
889
+ 94: <span class="ruby-identifier">genHeaderScale</span>(<span class="ruby-ivar">@smallScale</span>, <span class="ruby-identifier">h</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-identifier">h</span>, <span class="ruby-value">:beginOfYear</span>, <span class="ruby-value">:sameTimeNextYear</span>,
890
+ 95: <span class="ruby-value">:year</span>)
891
+ 96: <span class="ruby-keyword kw">else</span>
892
+ 97: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale: #{@chart.scale['name']}&quot;</span>
893
+ 98: <span class="ruby-keyword kw">end</span>
894
+ 99:
895
+ 100: <span class="ruby-identifier">nlx</span> = <span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">dateToX</span>(<span class="ruby-ivar">@chart</span>.<span class="ruby-identifier">now</span>)
896
+ 101: <span class="ruby-ivar">@nowLineX</span> = <span class="ruby-identifier">nlx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">nlx</span>
897
+ 102: <span class="ruby-keyword kw">end</span></pre>
892
898
  </div>
893
899
 
894
900
  </div>