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
@@ -143,6 +143,8 @@
143
143
 
144
144
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
145
145
 
146
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
147
+
146
148
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
147
149
 
148
150
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -221,6 +223,8 @@
221
223
 
222
224
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
223
225
 
226
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
227
+
224
228
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
225
229
 
226
230
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -253,6 +257,8 @@
253
257
 
254
258
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
255
259
 
260
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
261
+
256
262
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
257
263
 
258
264
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -533,6 +539,8 @@
533
539
 
534
540
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
535
541
 
542
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
543
+
536
544
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
537
545
 
538
546
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -559,8 +567,6 @@
559
567
 
560
568
  <li><a href="../String.html">String</a></li>
561
569
 
562
- <li><a href="../StringIO.html">StringIO</a></li>
563
-
564
570
  </ul>
565
571
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
566
572
  </div>
@@ -716,22 +722,22 @@ Create a new <a href="ReportTable.html">ReportTable</a> object.
716
722
  <div class="method-source-code"
717
723
  id="new-source">
718
724
  <pre>
719
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 32</span>
720
- 32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
721
- 33: <span class="ruby-comment cmt"># The height if the header lines in screen pixels.</span>
722
- 34: <span class="ruby-ivar">@headerLineHeight</span> = <span class="ruby-value">19</span>
723
- 35: <span class="ruby-comment cmt"># Size of the font used in the header</span>
724
- 36: <span class="ruby-ivar">@headerFontSize</span> = <span class="ruby-value">15</span>
725
- 37: <span class="ruby-comment cmt"># Array of ReportTableColumn objects.</span>
726
- 38: <span class="ruby-ivar">@columns</span> = []
727
- 39: <span class="ruby-comment cmt"># Array of ReportTableLine objects.</span>
728
- 40: <span class="ruby-ivar">@lines</span> = []
729
- 41: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-value">0</span>
730
- 42: <span class="ruby-comment cmt"># Whether or not all table lines must have same height.</span>
731
- 43: <span class="ruby-ivar">@equiLines</span> = <span class="ruby-keyword kw">false</span>
732
- 44: <span class="ruby-comment cmt"># True if the table is embedded as a column of another ReportTable.</span>
733
- 45: <span class="ruby-ivar">@embedded</span> = <span class="ruby-keyword kw">false</span>
734
- 46: <span class="ruby-keyword kw">end</span></pre>
725
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 33</span>
726
+ 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
727
+ 34: <span class="ruby-comment cmt"># The height if the header lines in screen pixels.</span>
728
+ 35: <span class="ruby-ivar">@headerLineHeight</span> = <span class="ruby-value">19</span>
729
+ 36: <span class="ruby-comment cmt"># Size of the font used in the header</span>
730
+ 37: <span class="ruby-ivar">@headerFontSize</span> = <span class="ruby-value">15</span>
731
+ 38: <span class="ruby-comment cmt"># Array of ReportTableColumn objects.</span>
732
+ 39: <span class="ruby-ivar">@columns</span> = []
733
+ 40: <span class="ruby-comment cmt"># Array of ReportTableLine objects.</span>
734
+ 41: <span class="ruby-ivar">@lines</span> = []
735
+ 42: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-value">0</span>
736
+ 43: <span class="ruby-comment cmt"># Whether or not all table lines must have same height.</span>
737
+ 44: <span class="ruby-ivar">@equiLines</span> = <span class="ruby-keyword kw">false</span>
738
+ 45: <span class="ruby-comment cmt"># True if the table is embedded as a column of another ReportTable.</span>
739
+ 46: <span class="ruby-ivar">@embedded</span> = <span class="ruby-keyword kw">false</span>
740
+ 47: <span class="ruby-keyword kw">end</span></pre>
735
741
  </div>
736
742
 
737
743
  </div>
@@ -771,10 +777,10 @@ href="ReportTableColumn.html">ReportTableColumn</a> constructor.
771
777
  <div class="method-source-code"
772
778
  id="add-olumn-source">
773
779
  <pre>
774
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 49</span>
775
- 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addColumn</span>(<span class="ruby-identifier">col</span>)
776
- 50: <span class="ruby-ivar">@columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>
777
- 51: <span class="ruby-keyword kw">end</span></pre>
780
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 50</span>
781
+ 50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addColumn</span>(<span class="ruby-identifier">col</span>)
782
+ 51: <span class="ruby-ivar">@columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>
783
+ 52: <span class="ruby-keyword kw">end</span></pre>
778
784
  </div>
779
785
 
780
786
  </div>
@@ -808,10 +814,10 @@ href="ReportTableLine.html">ReportTableLine</a> constructor.
808
814
  <div class="method-source-code"
809
815
  id="add-ine-source">
810
816
  <pre>
811
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 54</span>
812
- 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addLine</span>(<span class="ruby-identifier">line</span>)
813
- 55: <span class="ruby-ivar">@lines</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
814
- 56: <span class="ruby-keyword kw">end</span></pre>
817
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 55</span>
818
+ 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addLine</span>(<span class="ruby-identifier">line</span>)
819
+ 56: <span class="ruby-ivar">@lines</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
820
+ 57: <span class="ruby-keyword kw">end</span></pre>
815
821
  </div>
816
822
 
817
823
  </div>
@@ -844,10 +850,10 @@ Return the number of registered lines for this table.
844
850
  <div class="method-source-code"
845
851
  id="lines-source">
846
852
  <pre>
847
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 59</span>
848
- 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lines</span>
849
- 60: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">length</span>
850
- 61: <span class="ruby-keyword kw">end</span></pre>
853
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 60</span>
854
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lines</span>
855
+ 61: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">length</span>
856
+ 62: <span class="ruby-keyword kw">end</span></pre>
851
857
  </div>
852
858
 
853
859
  </div>
@@ -881,15 +887,15 @@ mininum with, nil is returned.
881
887
  <div class="method-source-code"
882
888
  id="min-idth-source">
883
889
  <pre>
884
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 65</span>
885
- 65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">minWidth</span>
886
- 66: <span class="ruby-identifier">width</span> = <span class="ruby-value">1</span>
887
- 67: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
888
- 68: <span class="ruby-identifier">cw</span> = <span class="ruby-identifier">column</span>.<span class="ruby-identifier">minWidth</span>
889
- 69: <span class="ruby-identifier">width</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">cw</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cw</span>
890
- 70: <span class="ruby-keyword kw">end</span>
891
- 71: <span class="ruby-identifier">width</span>
892
- 72: <span class="ruby-keyword kw">end</span></pre>
890
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 66</span>
891
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">minWidth</span>
892
+ 67: <span class="ruby-identifier">width</span> = <span class="ruby-value">1</span>
893
+ 68: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
894
+ 69: <span class="ruby-identifier">cw</span> = <span class="ruby-identifier">column</span>.<span class="ruby-identifier">minWidth</span>
895
+ 70: <span class="ruby-identifier">width</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">cw</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cw</span>
896
+ 71: <span class="ruby-keyword kw">end</span>
897
+ 72: <span class="ruby-identifier">width</span>
898
+ 73: <span class="ruby-keyword kw">end</span></pre>
893
899
  </div>
894
900
 
895
901
  </div>
@@ -924,29 +930,29 @@ already.
924
930
  <div class="method-source-code"
925
931
  id="to-csv-source">
926
932
  <pre>
927
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 134</span>
928
- 134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span> = [[ ]], <span class="ruby-identifier">startColumn</span> = <span class="ruby-value">0</span>)
929
- 135: <span class="ruby-comment cmt"># Generate the header line.</span>
930
- 136: <span class="ruby-identifier">columnIdx</span> = <span class="ruby-identifier">startColumn</span>
931
- 137: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span>
932
- 138: <span class="ruby-identifier">columnIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>)
933
- 139: <span class="ruby-keyword kw">end</span>
934
- 140:
935
- 141: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@embedded</span>
936
- 142: <span class="ruby-identifier">columnIdx</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startColumn</span>
937
- 143: <span class="ruby-keyword kw">else</span>
938
- 144: <span class="ruby-comment cmt"># Content of embedded tables is inserted when generating the</span>
939
- 145: <span class="ruby-comment cmt"># respective Line.</span>
940
- 146: <span class="ruby-identifier">lineIdx</span> = <span class="ruby-value">1</span>
941
- 147: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
942
- 148: <span class="ruby-comment cmt"># Insert a new Array for each line.</span>
943
- 149: <span class="ruby-identifier">csv</span>[<span class="ruby-identifier">lineIdx</span>] = []
944
- 150: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">startColumn</span>, <span class="ruby-identifier">lineIdx</span>)
945
- 151: <span class="ruby-identifier">lineIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
946
- 152: <span class="ruby-keyword kw">end</span>
947
- 153: <span class="ruby-identifier">csv</span>
948
- 154: <span class="ruby-keyword kw">end</span>
949
- 155: <span class="ruby-keyword kw">end</span></pre>
933
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 135</span>
934
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span> = [[ ]], <span class="ruby-identifier">startColumn</span> = <span class="ruby-value">0</span>)
935
+ 136: <span class="ruby-comment cmt"># Generate the header line.</span>
936
+ 137: <span class="ruby-identifier">columnIdx</span> = <span class="ruby-identifier">startColumn</span>
937
+ 138: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span>
938
+ 139: <span class="ruby-identifier">columnIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>)
939
+ 140: <span class="ruby-keyword kw">end</span>
940
+ 141:
941
+ 142: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@embedded</span>
942
+ 143: <span class="ruby-identifier">columnIdx</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startColumn</span>
943
+ 144: <span class="ruby-keyword kw">else</span>
944
+ 145: <span class="ruby-comment cmt"># Content of embedded tables is inserted when generating the</span>
945
+ 146: <span class="ruby-comment cmt"># respective Line.</span>
946
+ 147: <span class="ruby-identifier">lineIdx</span> = <span class="ruby-value">1</span>
947
+ 148: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
948
+ 149: <span class="ruby-comment cmt"># Insert a new Array for each line.</span>
949
+ 150: <span class="ruby-identifier">csv</span>[<span class="ruby-identifier">lineIdx</span>] = []
950
+ 151: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">startColumn</span>, <span class="ruby-identifier">lineIdx</span>)
951
+ 152: <span class="ruby-identifier">lineIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
952
+ 153: <span class="ruby-keyword kw">end</span>
953
+ 154: <span class="ruby-identifier">csv</span>
954
+ 155: <span class="ruby-keyword kw">end</span>
955
+ 156: <span class="ruby-keyword kw">end</span></pre>
950
956
  </div>
951
957
 
952
958
  </div>
@@ -979,63 +985,63 @@ Output the table as HTML.
979
985
  <div class="method-source-code"
980
986
  id="to-html-source">
981
987
  <pre>
982
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 75</span>
983
- 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
984
- 76: <span class="ruby-identifier">determineMaxIndents</span>
985
- 77:
986
- 78: <span class="ruby-identifier">attr</span> = { <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table'</span>,
987
- 79: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span> }
988
- 80: <span class="ruby-identifier">attr</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-value str">'width:100%; '</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@embedded</span>
989
- 81: <span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-identifier">attr</span>)
990
- 82: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tbody</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tbody'</span>))
991
- 83:
992
- 84: <span class="ruby-comment cmt"># Generate the 1st table header line.</span>
993
- 85: <span class="ruby-identifier">allCellsHave2Rows</span> = <span class="ruby-keyword kw">true</span>
994
- 86: <span class="ruby-identifier">lineHeight</span> = <span class="ruby-ivar">@headerLineHeight</span>
995
- 87: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span>
996
- 88: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">rows</span> <span class="ruby-operator">!=</span> <span class="ruby-value">2</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">col</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">special</span>
997
- 89: <span class="ruby-identifier">allCellsHave2Rows</span> = <span class="ruby-keyword kw">false</span>
998
- 90: <span class="ruby-keyword kw">break</span>;
999
- 91: <span class="ruby-keyword kw">end</span>
1000
- 92: <span class="ruby-keyword kw">end</span>
1001
- 93: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allCellsHave2Rows</span>
1002
- 94: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">rows</span> = <span class="ruby-value">1</span> }
1003
- 95: <span class="ruby-identifier">lineHeight</span> = <span class="ruby-ivar">@headerLineHeight</span> * <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1004
- 96: <span class="ruby-keyword kw">end</span>
1005
- 97:
1006
- 98: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
1007
- 99: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
1008
- 100: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{lineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
1009
- 101: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
1010
- 102: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">1</span>) }
1011
- 103:
1012
- 104: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">allCellsHave2Rows</span>
1013
- 105: <span class="ruby-comment cmt"># Generate the 2nd table header line.</span>
1014
- 106: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
1015
- 107: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
1016
- 108: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{@headerLineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
1017
- 109: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
1018
- 110: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">2</span>) }
1019
- 111: <span class="ruby-keyword kw">end</span>
1020
- 112:
1021
- 113: <span class="ruby-comment cmt"># Generate the rest of the table.</span>
1022
- 114: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_html</span> }
1023
- 115:
1024
- 116: <span class="ruby-comment cmt"># In case we have columns with scrollbars, we generate an extra line with</span>
1025
- 117: <span class="ruby-comment cmt"># cells for all columns that don't have a scrollbar. The scrollbar must</span>
1026
- 118: <span class="ruby-comment cmt"># have a height of SCROLLBARHEIGHT pixels or less.</span>
1027
- 119: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hasScrollbar?</span>
1028
- 120: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>,
1029
- 121: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{SCROLLBARHEIGHT}px&quot;</span>))
1030
- 122: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
1031
- 123: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">scrollbar</span>
1032
- 124: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)
1033
- 125: <span class="ruby-keyword kw">end</span>
1034
- 126: <span class="ruby-keyword kw">end</span>
1035
- 127: <span class="ruby-keyword kw">end</span>
1036
- 128:
1037
- 129: <span class="ruby-identifier">table</span>
1038
- 130: <span class="ruby-keyword kw">end</span></pre>
988
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 76</span>
989
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
990
+ 77: <span class="ruby-identifier">determineMaxIndents</span>
991
+ 78:
992
+ 79: <span class="ruby-identifier">attr</span> = { <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table'</span>,
993
+ 80: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span> }
994
+ 81: <span class="ruby-identifier">attr</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-value str">'width:100%; '</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@embedded</span>
995
+ 82: <span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-identifier">attr</span>)
996
+ 83: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tbody</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tbody'</span>))
997
+ 84:
998
+ 85: <span class="ruby-comment cmt"># Generate the 1st table header line.</span>
999
+ 86: <span class="ruby-identifier">allCellsHave2Rows</span> = <span class="ruby-keyword kw">true</span>
1000
+ 87: <span class="ruby-identifier">lineHeight</span> = <span class="ruby-ivar">@headerLineHeight</span>
1001
+ 88: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span>
1002
+ 89: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">rows</span> <span class="ruby-operator">!=</span> <span class="ruby-value">2</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">col</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">special</span>
1003
+ 90: <span class="ruby-identifier">allCellsHave2Rows</span> = <span class="ruby-keyword kw">false</span>
1004
+ 91: <span class="ruby-keyword kw">break</span>;
1005
+ 92: <span class="ruby-keyword kw">end</span>
1006
+ 93: <span class="ruby-keyword kw">end</span>
1007
+ 94: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allCellsHave2Rows</span>
1008
+ 95: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">rows</span> = <span class="ruby-value">1</span> }
1009
+ 96: <span class="ruby-identifier">lineHeight</span> = <span class="ruby-ivar">@headerLineHeight</span> * <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1010
+ 97: <span class="ruby-keyword kw">end</span>
1011
+ 98:
1012
+ 99: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
1013
+ 100: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
1014
+ 101: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{lineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
1015
+ 102: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
1016
+ 103: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">1</span>) }
1017
+ 104:
1018
+ 105: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">allCellsHave2Rows</span>
1019
+ 106: <span class="ruby-comment cmt"># Generate the 2nd table header line.</span>
1020
+ 107: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
1021
+ 108: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
1022
+ 109: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{@headerLineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
1023
+ 110: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
1024
+ 111: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">2</span>) }
1025
+ 112: <span class="ruby-keyword kw">end</span>
1026
+ 113:
1027
+ 114: <span class="ruby-comment cmt"># Generate the rest of the table.</span>
1028
+ 115: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_html</span> }
1029
+ 116:
1030
+ 117: <span class="ruby-comment cmt"># In case we have columns with scrollbars, we generate an extra line with</span>
1031
+ 118: <span class="ruby-comment cmt"># cells for all columns that don't have a scrollbar. The scrollbar must</span>
1032
+ 119: <span class="ruby-comment cmt"># have a height of SCROLLBARHEIGHT pixels or less.</span>
1033
+ 120: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hasScrollbar?</span>
1034
+ 121: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>,
1035
+ 122: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{SCROLLBARHEIGHT}px&quot;</span>))
1036
+ 123: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
1037
+ 124: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">scrollbar</span>
1038
+ 125: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)
1039
+ 126: <span class="ruby-keyword kw">end</span>
1040
+ 127: <span class="ruby-keyword kw">end</span>
1041
+ 128: <span class="ruby-keyword kw">end</span>
1042
+ 129:
1043
+ 130: <span class="ruby-identifier">table</span>
1044
+ 131: <span class="ruby-keyword kw">end</span></pre>
1039
1045
  </div>
1040
1046
 
1041
1047
  </div>
@@ -1076,13 +1082,13 @@ is stored in the _@maxIndent_ variable.
1076
1082
  <div class="method-source-code"
1077
1083
  id="determine-ax-ndents-source">
1078
1084
  <pre>
1079
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 162</span>
1080
- 162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">determineMaxIndents</span>
1081
- 163: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-value">0</span>
1082
- 164: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1083
- 165: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">indentation</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">indentation</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@maxIndent</span>
1084
- 166: <span class="ruby-keyword kw">end</span>
1085
- 167: <span class="ruby-keyword kw">end</span></pre>
1085
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 163</span>
1086
+ 163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">determineMaxIndents</span>
1087
+ 164: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-value">0</span>
1088
+ 165: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1089
+ 166: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">indentation</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">indentation</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@maxIndent</span>
1090
+ 167: <span class="ruby-keyword kw">end</span>
1091
+ 168: <span class="ruby-keyword kw">end</span></pre>
1086
1092
  </div>
1087
1093
 
1088
1094
  </div>
@@ -1115,11 +1121,11 @@ Returns true if any of the columns has a scrollbar.
1115
1121
  <div class="method-source-code"
1116
1122
  id="has-crollbar--source">
1117
1123
  <pre>
1118
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 170</span>
1119
- 170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasScrollbar?</span>
1120
- 171: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">scrollbar</span> }
1121
- 172: <span class="ruby-keyword kw">false</span>
1122
- 173: <span class="ruby-keyword kw">end</span></pre>
1124
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 171</span>
1125
+ 171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasScrollbar?</span>
1126
+ 172: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">scrollbar</span> }
1127
+ 173: <span class="ruby-keyword kw">false</span>
1128
+ 174: <span class="ruby-keyword kw">end</span></pre>
1123
1129
  </div>
1124
1130
 
1125
1131
  </div>
@@ -145,6 +145,8 @@
145
145
 
146
146
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
147
147
 
148
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
149
+
148
150
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
149
151
 
150
152
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -223,6 +225,8 @@
223
225
 
224
226
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
225
227
 
228
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
229
+
226
230
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
227
231
 
228
232
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -255,6 +259,8 @@
255
259
 
256
260
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
257
261
 
262
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
263
+
258
264
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
259
265
 
260
266
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -535,6 +541,8 @@
535
541
 
536
542
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
537
543
 
544
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
545
+
538
546
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
539
547
 
540
548
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -561,8 +569,6 @@
561
569
 
562
570
  <li><a href="../String.html">String</a></li>
563
571
 
564
- <li><a href="../StringIO.html">StringIO</a></li>
565
-
566
572
  </ul>
567
573
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
568
574
  </div>
@@ -987,51 +993,62 @@ cells.
987
993
  <div class="method-source-code"
988
994
  id="new-source">
989
995
  <pre>
990
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 34</span>
991
- 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">text</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headerCell</span> = <span class="ruby-keyword kw">false</span>)
992
- 35: <span class="ruby-ivar">@line</span> = <span class="ruby-identifier">line</span>
993
- 36: <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">addCell</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>
994
- 37:
995
- 38: <span class="ruby-comment cmt"># Specifies whether this is a header cell or not.</span>
996
- 39: <span class="ruby-ivar">@headerCell</span> = <span class="ruby-identifier">headerCell</span>
997
- 40: <span class="ruby-comment cmt"># A copy of a Query object that is needed to access project data via the</span>
998
- 41: <span class="ruby-comment cmt"># query function.</span>
999
- 42: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">query</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
1000
- 43: <span class="ruby-comment cmt"># The cell textual content. This may be a String or a</span>
1001
- 44: <span class="ruby-comment cmt"># RichTextIntermediate object.</span>
1002
- 45: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
1003
- 46: <span class="ruby-comment cmt"># A custom text for the tooltip.</span>
1004
- 47: <span class="ruby-ivar">@tooltip</span> = <span class="ruby-keyword kw">nil</span>
1005
- 48: <span class="ruby-comment cmt"># Determines if the tooltip is triggered by an special hinting icon or</span>
1006
- 49: <span class="ruby-comment cmt"># the whole cell.</span>
1007
- 50: <span class="ruby-ivar">@showTooltipHint</span> = <span class="ruby-keyword kw">true</span>
1008
- 51: <span class="ruby-comment cmt"># The original data of the cell content (optional, nil if not provided)</span>
1009
- 52: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
1010
- 53: <span class="ruby-comment cmt"># Determines the background color of the cell.</span>
1011
- 54: <span class="ruby-ivar">@category</span> = <span class="ruby-keyword kw">nil</span>
1012
- 55: <span class="ruby-ivar">@hidden</span> = <span class="ruby-keyword kw">false</span>
1013
- 56: <span class="ruby-comment cmt"># How to horizontally align the cell</span>
1014
- 57: <span class="ruby-ivar">@alignment</span> = <span class="ruby-value">:center</span>
1015
- 58: <span class="ruby-comment cmt"># Horizontal padding between frame and cell content</span>
1016
- 59: <span class="ruby-ivar">@padding</span> = <span class="ruby-value">3</span>
1017
- 60: <span class="ruby-comment cmt"># Whether or not to indent the cell. If not nil, it is a Fixnum</span>
1018
- 61: <span class="ruby-comment cmt"># indicating the indentation level.</span>
1019
- 62: <span class="ruby-ivar">@indent</span> = <span class="ruby-keyword kw">nil</span>
1020
- 63: <span class="ruby-comment cmt"># The basename of the icon file</span>
1021
- 64: <span class="ruby-ivar">@icon</span> = <span class="ruby-keyword kw">nil</span>
1022
- 65: <span class="ruby-comment cmt"># A custom tooltip for the cell icon</span>
1023
- 66: <span class="ruby-ivar">@iconTooltip</span> = <span class="ruby-keyword kw">nil</span>
1024
- 67: <span class="ruby-ivar">@fontSize</span> = <span class="ruby-keyword kw">nil</span>
1025
- 68: <span class="ruby-ivar">@cellColor</span> = <span class="ruby-keyword kw">nil</span>
1026
- 69: <span class="ruby-ivar">@fontColor</span> = <span class="ruby-keyword kw">nil</span>
1027
- 70: <span class="ruby-ivar">@bold</span> = <span class="ruby-keyword kw">false</span>
1028
- 71: <span class="ruby-ivar">@width</span> = <span class="ruby-keyword kw">nil</span>
1029
- 72: <span class="ruby-ivar">@rows</span> = <span class="ruby-value">1</span>
1030
- 73: <span class="ruby-ivar">@columns</span> = <span class="ruby-value">1</span>
1031
- 74: <span class="ruby-ivar">@selfcontained</span> = <span class="ruby-keyword kw">false</span>
1032
- 75: <span class="ruby-comment cmt"># Ignore everything and use this reference to generate the output.</span>
1033
- 76: <span class="ruby-ivar">@special</span> = <span class="ruby-keyword kw">nil</span>
1034
- 77: <span class="ruby-keyword kw">end</span></pre>
996
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 35</span>
997
+ 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">text</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headerCell</span> = <span class="ruby-keyword kw">false</span>)
998
+ 36: <span class="ruby-ivar">@line</span> = <span class="ruby-identifier">line</span>
999
+ 37: <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">addCell</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>
1000
+ 38:
1001
+ 39: <span class="ruby-comment cmt"># Specifies whether this is a header cell or not.</span>
1002
+ 40: <span class="ruby-ivar">@headerCell</span> = <span class="ruby-identifier">headerCell</span>
1003
+ 41: <span class="ruby-comment cmt"># A copy of a Query object that is needed to access project data via the</span>
1004
+ 42: <span class="ruby-comment cmt"># query function.</span>
1005
+ 43: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">query</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
1006
+ 44: <span class="ruby-comment cmt"># The cell textual content. This may be a String or a</span>
1007
+ 45: <span class="ruby-comment cmt"># RichTextIntermediate object.</span>
1008
+ 46: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
1009
+ 47: <span class="ruby-comment cmt"># A custom text for the tooltip.</span>
1010
+ 48: <span class="ruby-ivar">@tooltip</span> = <span class="ruby-keyword kw">nil</span>
1011
+ 49: <span class="ruby-comment cmt"># Determines if the tooltip is triggered by an special hinting icon or</span>
1012
+ 50: <span class="ruby-comment cmt"># the whole cell.</span>
1013
+ 51: <span class="ruby-ivar">@showTooltipHint</span> = <span class="ruby-keyword kw">true</span>
1014
+ 52: <span class="ruby-comment cmt"># The original data of the cell content (optional, nil if not provided)</span>
1015
+ 53: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
1016
+ 54: <span class="ruby-comment cmt"># Determines the background color of the cell.</span>
1017
+ 55: <span class="ruby-ivar">@category</span> = <span class="ruby-keyword kw">nil</span>
1018
+ 56: <span class="ruby-comment cmt"># True of the cell is hidden (because other cells span multiple rows or</span>
1019
+ 57: <span class="ruby-comment cmt"># columns)</span>
1020
+ 58: <span class="ruby-ivar">@hidden</span> = <span class="ruby-keyword kw">false</span>
1021
+ 59: <span class="ruby-comment cmt"># How to horizontally align the cell</span>
1022
+ 60: <span class="ruby-ivar">@alignment</span> = <span class="ruby-value">:center</span>
1023
+ 61: <span class="ruby-comment cmt"># Horizontal padding between frame and cell content</span>
1024
+ 62: <span class="ruby-ivar">@padding</span> = <span class="ruby-value">3</span>
1025
+ 63: <span class="ruby-comment cmt"># Whether or not to indent the cell. If not nil, it is a Fixnum</span>
1026
+ 64: <span class="ruby-comment cmt"># indicating the indentation level.</span>
1027
+ 65: <span class="ruby-ivar">@indent</span> = <span class="ruby-keyword kw">nil</span>
1028
+ 66: <span class="ruby-comment cmt"># The basename of the icon file</span>
1029
+ 67: <span class="ruby-ivar">@icon</span> = <span class="ruby-keyword kw">nil</span>
1030
+ 68: <span class="ruby-comment cmt"># A custom tooltip for the cell icon</span>
1031
+ 69: <span class="ruby-ivar">@iconTooltip</span> = <span class="ruby-keyword kw">nil</span>
1032
+ 70: <span class="ruby-comment cmt"># Font size of the cell text in pixels</span>
1033
+ 71: <span class="ruby-ivar">@fontSize</span> = <span class="ruby-keyword kw">nil</span>
1034
+ 72: <span class="ruby-comment cmt"># The background color of the cell. Overwrite the @category color.</span>
1035
+ 73: <span class="ruby-ivar">@cellColor</span> = <span class="ruby-keyword kw">nil</span>
1036
+ 74: <span class="ruby-comment cmt"># The color of the cell text font.</span>
1037
+ 75: <span class="ruby-ivar">@fontColor</span> = <span class="ruby-keyword kw">nil</span>
1038
+ 76: <span class="ruby-comment cmt"># True of a bold font is to be used for the cell text.</span>
1039
+ 77: <span class="ruby-ivar">@bold</span> = <span class="ruby-keyword kw">false</span>
1040
+ 78: <span class="ruby-comment cmt"># The width of the column in pixels</span>
1041
+ 79: <span class="ruby-ivar">@width</span> = <span class="ruby-keyword kw">nil</span>
1042
+ 80: <span class="ruby-comment cmt"># The number of rows the cell spans</span>
1043
+ 81: <span class="ruby-ivar">@rows</span> = <span class="ruby-value">1</span>
1044
+ 82: <span class="ruby-comment cmt"># The number of columns the cell spans</span>
1045
+ 83: <span class="ruby-ivar">@columns</span> = <span class="ruby-value">1</span>
1046
+ 84: <span class="ruby-comment cmt"># True of the resulting report should not contain any information from</span>
1047
+ 85: <span class="ruby-comment cmt"># other files.</span>
1048
+ 86: <span class="ruby-ivar">@selfcontained</span> = <span class="ruby-keyword kw">false</span>
1049
+ 87: <span class="ruby-comment cmt"># Ignore everything and use this reference to generate the output.</span>
1050
+ 88: <span class="ruby-ivar">@special</span> = <span class="ruby-keyword kw">nil</span>
1051
+ 89: <span class="ruby-keyword kw">end</span></pre>
1035
1052
  </div>
1036
1053
 
1037
1054
  </div>
@@ -1072,15 +1089,16 @@ cell with.
1072
1089
  <div class="method-source-code"
1073
1090
  id="--source">
1074
1091
  <pre>
1075
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 82</span>
1076
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">c</span>)
1077
- 83: <span class="ruby-ivar">@text</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">&amp;&amp;</span>
1078
- 84: <span class="ruby-ivar">@tooltip</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">tooltip</span> <span class="ruby-operator">&amp;&amp;</span>
1079
- 85: <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">alignment</span> <span class="ruby-operator">&amp;&amp;</span>
1080
- 86: <span class="ruby-ivar">@padding</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">padding</span> <span class="ruby-operator">&amp;&amp;</span>
1081
- 87: <span class="ruby-ivar">@indent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">indent</span> <span class="ruby-operator">&amp;&amp;</span>
1082
- 88: <span class="ruby-ivar">@category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">category</span>
1083
- 89: <span class="ruby-keyword kw">end</span></pre>
1092
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 94</span>
1093
+ 94: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">c</span>)
1094
+ 95: <span class="ruby-ivar">@text</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">&amp;&amp;</span>
1095
+ 96: <span class="ruby-ivar">@tooltip</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">tooltip</span> <span class="ruby-operator">&amp;&amp;</span>
1096
+ 97: <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">alignment</span> <span class="ruby-operator">&amp;&amp;</span>
1097
+ 98: <span class="ruby-ivar">@padding</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">padding</span> <span class="ruby-operator">&amp;&amp;</span>
1098
+ 99: <span class="ruby-ivar">@indent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">indent</span> <span class="ruby-operator">&amp;&amp;</span>
1099
+ 100: <span class="ruby-ivar">@cellColor</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">cellColor</span> <span class="ruby-operator">&amp;&amp;</span>
1100
+ 101: <span class="ruby-ivar">@category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">category</span>
1101
+ 102: <span class="ruby-keyword kw">end</span></pre>
1084
1102
  </div>
1085
1103
 
1086
1104
  </div>
@@ -1113,45 +1131,45 @@ Add the text content of the cell to an Array of Arrays form of the table.
1113
1131
  <div class="method-source-code"
1114
1132
  id="to-csv-source">
1115
1133
  <pre>
1116
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 144</span>
1117
- 144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">lineIdx</span>)
1118
- 145: <span class="ruby-comment cmt"># We only support left indentation in CSV files as the spaces for right</span>
1119
- 146: <span class="ruby-comment cmt"># indentation will be disregarded by most applications.</span>
1120
- 147: <span class="ruby-identifier">indent</span> = <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-value">:left</span> <span class="ruby-operator">?</span> <span class="ruby-value str">' '</span> * <span class="ruby-ivar">@indent</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>
1121
- 148: <span class="ruby-identifier">columns</span> = <span class="ruby-value">1</span>
1122
- 149: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@special</span>
1123
- 150: <span class="ruby-comment cmt"># This is for nested tables. They will be inserted as whole columns</span>
1124
- 151: <span class="ruby-comment cmt"># in the existing table.</span>
1125
- 152: <span class="ruby-identifier">csv</span>[<span class="ruby-identifier">lineIdx</span>][<span class="ruby-identifier">columnIdx</span>] = <span class="ruby-keyword kw">nil</span>
1126
- 153: <span class="ruby-identifier">columns</span> = <span class="ruby-ivar">@special</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>)
1127
- 154: <span class="ruby-keyword kw">else</span>
1128
- 155: <span class="ruby-identifier">cell</span> =
1129
- 156: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1130
- 157: <span class="ruby-ivar">@data</span>
1131
- 158: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@text</span>
1132
- 159: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'functionHandler'</span>)
1133
- 160: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
1134
- 161: <span class="ruby-keyword kw">end</span>
1135
- 162: <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_s</span>
1136
- 163: <span class="ruby-comment cmt"># Remove any trailing line breaks. These don't really make much</span>
1137
- 164: <span class="ruby-comment cmt"># sense in CSV files.</span>
1138
- 165: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">str</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\n\</span>
1139
- 166: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">chomp!</span>
1140
- 167: <span class="ruby-keyword kw">end</span>
1141
- 168: <span class="ruby-identifier">str</span>
1142
- 169: <span class="ruby-keyword kw">end</span>
1143
- 170:
1144
- 171: <span class="ruby-comment cmt"># Try to convert numbers and other types to their native Ruby type if</span>
1145
- 172: <span class="ruby-comment cmt"># they are supported by CSVFile.</span>
1146
- 173: <span class="ruby-identifier">native</span> = <span class="ruby-constant">CSVFile</span>.<span class="ruby-identifier">strToNative</span>(<span class="ruby-identifier">cell</span>)
1147
- 174:
1148
- 175: <span class="ruby-comment cmt"># Only for String objects, we add the indentation.</span>
1149
- 176: <span class="ruby-identifier">csv</span>[<span class="ruby-identifier">lineIdx</span>][<span class="ruby-identifier">columnIdx</span>] = (<span class="ruby-identifier">native</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">native</span> <span class="ruby-operator">:</span>
1150
- 177: <span class="ruby-identifier">native</span>)
1151
- 178: <span class="ruby-keyword kw">end</span>
1152
- 179:
1153
- 180: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">columns</span>
1154
- 181: <span class="ruby-keyword kw">end</span></pre>
1134
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 157</span>
1135
+ 157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">lineIdx</span>)
1136
+ 158: <span class="ruby-comment cmt"># We only support left indentation in CSV files as the spaces for right</span>
1137
+ 159: <span class="ruby-comment cmt"># indentation will be disregarded by most applications.</span>
1138
+ 160: <span class="ruby-identifier">indent</span> = <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-value">:left</span> <span class="ruby-operator">?</span> <span class="ruby-value str">' '</span> * <span class="ruby-ivar">@indent</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>
1139
+ 161: <span class="ruby-identifier">columns</span> = <span class="ruby-value">1</span>
1140
+ 162: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@special</span>
1141
+ 163: <span class="ruby-comment cmt"># This is for nested tables. They will be inserted as whole columns</span>
1142
+ 164: <span class="ruby-comment cmt"># in the existing table.</span>
1143
+ 165: <span class="ruby-identifier">csv</span>[<span class="ruby-identifier">lineIdx</span>][<span class="ruby-identifier">columnIdx</span>] = <span class="ruby-keyword kw">nil</span>
1144
+ 166: <span class="ruby-identifier">columns</span> = <span class="ruby-ivar">@special</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>)
1145
+ 167: <span class="ruby-keyword kw">else</span>
1146
+ 168: <span class="ruby-identifier">cell</span> =
1147
+ 169: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@data</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1148
+ 170: <span class="ruby-ivar">@data</span>
1149
+ 171: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@text</span>
1150
+ 172: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'functionHandler'</span>)
1151
+ 173: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
1152
+ 174: <span class="ruby-keyword kw">end</span>
1153
+ 175: <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_s</span>
1154
+ 176: <span class="ruby-comment cmt"># Remove any trailing line breaks. These don't really make much</span>
1155
+ 177: <span class="ruby-comment cmt"># sense in CSV files.</span>
1156
+ 178: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">str</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\n\</span>
1157
+ 179: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">chomp!</span>
1158
+ 180: <span class="ruby-keyword kw">end</span>
1159
+ 181: <span class="ruby-identifier">str</span>
1160
+ 182: <span class="ruby-keyword kw">end</span>
1161
+ 183:
1162
+ 184: <span class="ruby-comment cmt"># Try to convert numbers and other types to their native Ruby type if</span>
1163
+ 185: <span class="ruby-comment cmt"># they are supported by CSVFile.</span>
1164
+ 186: <span class="ruby-identifier">native</span> = <span class="ruby-constant">CSVFile</span>.<span class="ruby-identifier">strToNative</span>(<span class="ruby-identifier">cell</span>)
1165
+ 187:
1166
+ 188: <span class="ruby-comment cmt"># Only for String objects, we add the indentation.</span>
1167
+ 189: <span class="ruby-identifier">csv</span>[<span class="ruby-identifier">lineIdx</span>][<span class="ruby-identifier">columnIdx</span>] = (<span class="ruby-identifier">native</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">native</span> <span class="ruby-operator">:</span>
1168
+ 190: <span class="ruby-identifier">native</span>)
1169
+ 191: <span class="ruby-keyword kw">end</span>
1170
+ 192:
1171
+ 193: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">columns</span>
1172
+ 194: <span class="ruby-keyword kw">end</span></pre>
1155
1173
  </div>
1156
1174
 
1157
1175
  </div>
@@ -1184,57 +1202,57 @@ Turn the abstract cell representation into an HTML element tree.
1184
1202
  <div class="method-source-code"
1185
1203
  id="to-html-source">
1186
1204
  <pre>
1187
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 92</span>
1188
- 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
1189
- 93: <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">@hidden</span>
1190
- 94: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@special</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@special</span>
1191
- 95:
1192
- 96: <span class="ruby-comment cmt"># Determine cell attributes</span>
1193
- 97: <span class="ruby-identifier">attribs</span> = { }
1194
- 98: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'rowspan'</span>] = <span class="ruby-node">&quot;#{@rows}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rows</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1195
- 99: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'colspan'</span>] = <span class="ruby-node">&quot;#{@columns}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@columns</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1196
- 100: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'class'</span>] = <span class="ruby-ivar">@category</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@category</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'tabcell'</span>
1197
- 101: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-node">&quot;background-color: #{@cellColor}; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cellColor</span>
1198
- 102: <span class="ruby-identifier">cell</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-identifier">attribs</span>)
1199
- 103:
1200
- 104: <span class="ruby-identifier">cell</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>,
1201
- 105: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@category</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'tj_table_cell'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'tj_table_header_cell'</span>,
1202
- 106: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">cellStyle</span>))
1203
- 107: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">row</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
1205
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 105</span>
1206
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
1207
+ 106: <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">@hidden</span>
1208
+ 107: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@special</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@special</span>
1204
1209
  108:
1205
- 109: <span class="ruby-identifier">calculateIndentation</span>
1206
- 110:
1207
- 111: <span class="ruby-comment cmt"># Insert a padding cell for the left side indentation.</span>
1208
- 112: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@leftIndent</span>
1209
- 113: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;min-width:#{@leftIndent}px; &quot;</span> <span class="ruby-operator">+</span>
1210
- 114: <span class="ruby-node">&quot;width:#{@leftIndent}px; &quot;</span>)
1211
- 115: <span class="ruby-keyword kw">end</span>
1212
- 116: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cellIcon</span>(<span class="ruby-identifier">cell</span>)
1213
- 117:
1214
- 118: <span class="ruby-identifier">labelDiv</span>, <span class="ruby-identifier">tooltip</span> = <span class="ruby-identifier">cellLabel</span>
1215
- 119: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">labelDiv</span>
1216
- 120:
1217
- 121: <span class="ruby-comment cmt"># Overwrite the tooltip if the user has specified a custom tooltip.</span>
1218
- 122: <span class="ruby-identifier">tooltip</span> = <span class="ruby-ivar">@tooltip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tooltip</span>
1219
- 123: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tooltip</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1220
- 124: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@showTooltipHint</span>
1221
- 125: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>))
1222
- 126: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'img'</span>, <span class="ruby-value str">'src'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'icons/details.png'</span>,
1223
- 127: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_cell_tooltip'</span>)
1224
- 128: <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-identifier">tooltip</span>, <span class="ruby-identifier">td</span>, <span class="ruby-identifier">cell</span>)
1225
- 129: <span class="ruby-keyword kw">else</span>
1226
- 130: <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-identifier">tooltip</span>, <span class="ruby-identifier">cell</span>)
1227
- 131: <span class="ruby-keyword kw">end</span>
1228
- 132: <span class="ruby-keyword kw">end</span>
1229
- 133:
1230
- 134: <span class="ruby-comment cmt"># Insert a padding cell for the right side indentation.</span>
1231
- 135: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rightIndent</span>
1232
- 136: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;min-width:#{@rightIndent}px; &quot;</span> <span class="ruby-operator">+</span>
1233
- 137: <span class="ruby-node">&quot;width:#{@rightIndent}px; &quot;</span>)
1234
- 138: <span class="ruby-keyword kw">end</span>
1235
- 139:
1236
- 140: <span class="ruby-identifier">cell</span>
1237
- 141: <span class="ruby-keyword kw">end</span></pre>
1210
+ 109: <span class="ruby-comment cmt"># Determine cell attributes</span>
1211
+ 110: <span class="ruby-identifier">attribs</span> = { }
1212
+ 111: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'rowspan'</span>] = <span class="ruby-node">&quot;#{@rows}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rows</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1213
+ 112: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'colspan'</span>] = <span class="ruby-node">&quot;#{@columns}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@columns</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1214
+ 113: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'class'</span>] = <span class="ruby-ivar">@category</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@category</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'tabcell'</span>
1215
+ 114: <span class="ruby-identifier">style</span> = <span class="ruby-value str">''</span>
1216
+ 115: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;background-color: #{@cellColor}; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cellColor</span>
1217
+ 116: <span class="ruby-identifier">attribs</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-identifier">style</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">style</span>.<span class="ruby-identifier">empty?</span>
1218
+ 117: <span class="ruby-identifier">cell</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-identifier">attribs</span>)
1219
+ 118:
1220
+ 119: <span class="ruby-identifier">cell</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>,
1221
+ 120: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@category</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'tj_table_cell'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'tj_table_header_cell'</span>,
1222
+ 121: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">cellStyle</span>))
1223
+ 122: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">row</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
1224
+ 123:
1225
+ 124: <span class="ruby-identifier">calculateIndentation</span>
1226
+ 125:
1227
+ 126: <span class="ruby-comment cmt"># Insert a padding cell for the left side indentation.</span>
1228
+ 127: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@leftIndent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@leftIndent</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
1229
+ 128: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{@leftIndent}px; &quot;</span>)
1230
+ 129: <span class="ruby-keyword kw">end</span>
1231
+ 130: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">cellIcon</span>(<span class="ruby-identifier">cell</span>)
1232
+ 131:
1233
+ 132: <span class="ruby-identifier">labelDiv</span>, <span class="ruby-identifier">tooltip</span> = <span class="ruby-identifier">cellLabel</span>
1234
+ 133: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">labelDiv</span>
1235
+ 134:
1236
+ 135: <span class="ruby-comment cmt"># Overwrite the tooltip if the user has specified a custom tooltip.</span>
1237
+ 136: <span class="ruby-identifier">tooltip</span> = <span class="ruby-ivar">@tooltip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tooltip</span>
1238
+ 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tooltip</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1239
+ 138: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@showTooltipHint</span>
1240
+ 139: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>))
1241
+ 140: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'img'</span>, <span class="ruby-value str">'src'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'icons/details.png'</span>,
1242
+ 141: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_cell_tooltip'</span>)
1243
+ 142: <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-identifier">tooltip</span>, <span class="ruby-identifier">td</span>, <span class="ruby-identifier">cell</span>)
1244
+ 143: <span class="ruby-keyword kw">else</span>
1245
+ 144: <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-identifier">tooltip</span>, <span class="ruby-identifier">cell</span>)
1246
+ 145: <span class="ruby-keyword kw">end</span>
1247
+ 146: <span class="ruby-keyword kw">end</span>
1248
+ 147:
1249
+ 148: <span class="ruby-comment cmt"># Insert a padding cell for the right side indentation.</span>
1250
+ 149: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rightIndent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@rightIndent</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
1251
+ 150: <span class="ruby-identifier">row</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{@rightIndent}px; &quot;</span>)
1252
+ 151: <span class="ruby-keyword kw">end</span>
1253
+ 152:
1254
+ 153: <span class="ruby-identifier">cell</span>
1255
+ 154: <span class="ruby-keyword kw">end</span></pre>
1238
1256
  </div>
1239
1257
 
1240
1258
  </div>
@@ -1271,31 +1289,31 @@ Turn the abstract cell representation into an HTML element tree.
1271
1289
  <div class="method-source-code"
1272
1290
  id="add-tml-ooltip-source">
1273
1291
  <pre>
1274
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 309</span>
1275
- 309: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-identifier">tooltip</span>, <span class="ruby-identifier">trigger</span>, <span class="ruby-identifier">hook</span> = <span class="ruby-keyword kw">nil</span>)
1276
- 310: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tooltip</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1277
- 311:
1278
- 312: <span class="ruby-identifier">hook</span> = <span class="ruby-identifier">trigger</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hook</span>.<span class="ruby-identifier">nil?</span>
1279
- 313: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'functionHandler'</span>)
1280
- 314: <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
1281
- 315: <span class="ruby-keyword kw">end</span>
1282
- 316: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@query</span>
1283
- 317: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'name'</span>
1284
- 318: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span>
1285
- 319: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_s</span>
1286
- 320: <span class="ruby-keyword kw">else</span>
1287
- 321: <span class="ruby-identifier">title</span> = <span class="ruby-value str">''</span>
1288
- 322: <span class="ruby-keyword kw">end</span>
1289
- 323: <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'onclick'</span>] = <span class="ruby-node">&quot;TagToTip('ID#{trigger.object_id}', &quot;</span> <span class="ruby-operator">+</span>
1290
- 324: <span class="ruby-node">&quot;TITLE, '#{title}')&quot;</span>
1291
- 325: <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'style'</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'style'</span>] <span class="ruby-operator">:</span> <span class="ruby-value str">'cursor:help; '</span>
1292
- 326: <span class="ruby-identifier">hook</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">ltDiv</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
1293
- 327: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_tooltip_box'</span>,
1294
- 328: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'cursor:help'</span>,
1295
- 329: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;ID#{trigger.object_id}&quot;</span>))
1296
- 330: <span class="ruby-identifier">ltDiv</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_html'</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span>
1297
- 331: <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tooltip</span>))
1298
- 332: <span class="ruby-keyword kw">end</span></pre>
1292
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 344</span>
1293
+ 344: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-identifier">tooltip</span>, <span class="ruby-identifier">trigger</span>, <span class="ruby-identifier">hook</span> = <span class="ruby-keyword kw">nil</span>)
1294
+ 345: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tooltip</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1295
+ 346:
1296
+ 347: <span class="ruby-identifier">hook</span> = <span class="ruby-identifier">trigger</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hook</span>.<span class="ruby-identifier">nil?</span>
1297
+ 348: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'functionHandler'</span>)
1298
+ 349: <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
1299
+ 350: <span class="ruby-keyword kw">end</span>
1300
+ 351: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@query</span>
1301
+ 352: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'name'</span>
1302
+ 353: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span>
1303
+ 354: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_s</span>
1304
+ 355: <span class="ruby-keyword kw">else</span>
1305
+ 356: <span class="ruby-identifier">title</span> = <span class="ruby-value str">''</span>
1306
+ 357: <span class="ruby-keyword kw">end</span>
1307
+ 358: <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'onclick'</span>] = <span class="ruby-node">&quot;TagToTip('ID#{trigger.object_id}', &quot;</span> <span class="ruby-operator">+</span>
1308
+ 359: <span class="ruby-node">&quot;TITLE, '#{title}')&quot;</span>
1309
+ 360: <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'style'</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">trigger</span>[<span class="ruby-value str">'style'</span>] <span class="ruby-operator">:</span> <span class="ruby-value str">'cursor:help; '</span>
1310
+ 361: <span class="ruby-identifier">hook</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">ltDiv</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
1311
+ 362: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_tooltip_box'</span>,
1312
+ 363: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'cursor:help'</span>,
1313
+ 364: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;ID#{trigger.object_id}&quot;</span>))
1314
+ 365: <span class="ruby-identifier">ltDiv</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_html'</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span>
1315
+ 366: <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tooltip</span>))
1316
+ 367: <span class="ruby-keyword kw">end</span></pre>
1299
1317
  </div>
1300
1318
 
1301
1319
  </div>
@@ -1326,20 +1344,20 @@ Turn the abstract cell representation into an HTML element tree.
1326
1344
  <div class="method-source-code"
1327
1345
  id="calculate-ndentation-source">
1328
1346
  <pre>
1329
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 185</span>
1330
- 185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calculateIndentation</span>
1331
- 186: <span class="ruby-comment cmt"># In tree sorting mode, some cells have to be indented to reflect the</span>
1332
- 187: <span class="ruby-comment cmt"># tree nesting structure. The indentation is achieved with padding cells</span>
1333
- 188: <span class="ruby-comment cmt"># and needs to be applied to the proper side depending on the alignment.</span>
1334
- 189: <span class="ruby-ivar">@leftIndent</span> = <span class="ruby-ivar">@rightIndent</span> = <span class="ruby-value">0</span>
1335
- 190: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">!=</span> <span class="ruby-value">:center</span>
1336
- 191: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-value">:left</span>
1337
- 192: <span class="ruby-ivar">@leftIndent</span> = <span class="ruby-ivar">@indent</span> * <span class="ruby-value">8</span>
1338
- 193: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-value">:right</span>
1339
- 194: <span class="ruby-ivar">@rightIndent</span> = (<span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">maxIndent</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@indent</span>) * <span class="ruby-value">8</span>
1340
- 195: <span class="ruby-keyword kw">end</span>
1341
- 196: <span class="ruby-keyword kw">end</span>
1342
- 197: <span class="ruby-keyword kw">end</span></pre>
1347
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 198</span>
1348
+ 198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calculateIndentation</span>
1349
+ 199: <span class="ruby-comment cmt"># In tree sorting mode, some cells have to be indented to reflect the</span>
1350
+ 200: <span class="ruby-comment cmt"># tree nesting structure. The indentation is achieved with padding cells</span>
1351
+ 201: <span class="ruby-comment cmt"># and needs to be applied to the proper side depending on the alignment.</span>
1352
+ 202: <span class="ruby-ivar">@leftIndent</span> = <span class="ruby-ivar">@rightIndent</span> = <span class="ruby-value">0</span>
1353
+ 203: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">!=</span> <span class="ruby-value">:center</span>
1354
+ 204: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-value">:left</span>
1355
+ 205: <span class="ruby-ivar">@leftIndent</span> = <span class="ruby-ivar">@indent</span> * <span class="ruby-value">8</span>
1356
+ 206: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-value">:right</span>
1357
+ 207: <span class="ruby-ivar">@rightIndent</span> = (<span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">maxIndent</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@indent</span>) * <span class="ruby-value">8</span>
1358
+ 208: <span class="ruby-keyword kw">end</span>
1359
+ 209: <span class="ruby-keyword kw">end</span>
1360
+ 210: <span class="ruby-keyword kw">end</span></pre>
1343
1361
  </div>
1344
1362
 
1345
1363
  </div>
@@ -1370,18 +1388,18 @@ Turn the abstract cell representation into an HTML element tree.
1370
1388
  <div class="method-source-code"
1371
1389
  id="cell-con-source">
1372
1390
  <pre>
1373
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 209</span>
1374
- 209: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellIcon</span>(<span class="ruby-identifier">cell</span>)
1375
- 210: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@icon</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1376
- 211: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_cell_icon'</span>)
1377
- 212: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'img'</span>, <span class="ruby-value str">'src'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;icons/#{@icon}.png&quot;</span>,
1378
- 213: <span class="ruby-value str">'alt'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;Icon&quot;</span>)
1379
- 214: <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-ivar">@iconTooltip</span>, <span class="ruby-identifier">td</span>, <span class="ruby-identifier">cell</span>)
1380
- 215: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">td</span>
1381
- 216: <span class="ruby-keyword kw">end</span>
1382
- 217:
1383
- 218: <span class="ruby-keyword kw">nil</span>
1384
- 219: <span class="ruby-keyword kw">end</span></pre>
1391
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 222</span>
1392
+ 222: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellIcon</span>(<span class="ruby-identifier">cell</span>)
1393
+ 223: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@icon</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1394
+ 224: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_cell_icon'</span>)
1395
+ 225: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'img'</span>, <span class="ruby-value str">'src'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;icons/#{@icon}.png&quot;</span>,
1396
+ 226: <span class="ruby-value str">'alt'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;Icon&quot;</span>)
1397
+ 227: <span class="ruby-identifier">addHtmlTooltip</span>(<span class="ruby-ivar">@iconTooltip</span>, <span class="ruby-identifier">td</span>, <span class="ruby-identifier">cell</span>)
1398
+ 228: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">td</span>
1399
+ 229: <span class="ruby-keyword kw">end</span>
1400
+ 230:
1401
+ 231: <span class="ruby-keyword kw">nil</span>
1402
+ 232: <span class="ruby-keyword kw">end</span></pre>
1385
1403
  </div>
1386
1404
 
1387
1405
  </div>
@@ -1412,73 +1430,87 @@ Turn the abstract cell representation into an HTML element tree.
1412
1430
  <div class="method-source-code"
1413
1431
  id="cell-abel-source">
1414
1432
  <pre>
1415
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 221</span>
1416
- 221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellLabel</span>
1417
- 222: <span class="ruby-comment cmt"># If we have a RichText content and a width limit, we enable line</span>
1418
- 223: <span class="ruby-comment cmt"># wrapping.</span>
1419
- 224: <span class="ruby-comment cmt"># Overfl. Wrap. Height Width</span>
1420
- 225: <span class="ruby-comment cmt"># Fixed Height: x - x -</span>
1421
- 226: <span class="ruby-comment cmt"># Fixed Width: x x - x</span>
1422
- 227: <span class="ruby-comment cmt"># Both: x - x x</span>
1423
- 228: <span class="ruby-comment cmt"># None: - x - -</span>
1424
- 229: <span class="ruby-identifier">fixedHeight</span> = <span class="ruby-ivar">@line</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span>
1425
- 230: <span class="ruby-identifier">fixedWidth</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@width</span>.<span class="ruby-identifier">nil?</span>
1426
- 231: <span class="ruby-identifier">style</span> = <span class="ruby-value str">&quot;overflow:hidden; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fixedHeight</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">fixedWidth</span>
1427
- 232: <span class="ruby-identifier">style</span> = <span class="ruby-node">&quot;white-space:#{fixedWidth &amp;&amp; !fixedHeight ?
1428
- 233: 'normal' : 'nowrap'}; &quot;</span>
1429
- 234: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fixedHeight</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">fixedWidth</span>
1430
- 235: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;height:#{@line.height - 3}px; &quot;</span>
1431
- 236: <span class="ruby-keyword kw">end</span>
1432
- 237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fixedWidth</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">fixedHeight</span>
1433
- 238: <span class="ruby-comment cmt"># @width does not really determine the column width. It only</span>
1434
- 239: <span class="ruby-comment cmt"># determines the with of the text label. Padding and icons can make</span>
1435
- 240: <span class="ruby-comment cmt"># the column significantly wider.</span>
1436
- 241: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;max-width:#{@width}px; &quot;</span>
1437
- 242: <span class="ruby-keyword kw">end</span>
1438
- 243: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'font-weight:bold; '</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@bold</span>
1439
- 244: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;font-size: #{@fontSize}px; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fontSize</span>
1440
- 245: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fontColor</span>
1441
- 246: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;color:#{@fontColor}; &quot;</span>
1442
- 247: <span class="ruby-keyword kw">end</span>
1443
- 248:
1444
- 249: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">empty?</span>
1445
- 250:
1446
- 251: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_cell_label'</span>,
1447
- 252: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">style</span>)
1448
- 253: <span class="ruby-identifier">tooltip</span> = <span class="ruby-keyword kw">nil</span>
1449
- 254:
1450
- 255: <span class="ruby-comment cmt"># @text can be a String or a RichText (with or without embedded</span>
1451
- 256: <span class="ruby-comment cmt"># queries). To find out if @text has multiple lines, we need to expand</span>
1452
- 257: <span class="ruby-comment cmt"># it and convert it to a plain text again.</span>
1453
- 258: <span class="ruby-identifier">textAsString</span> =
1454
- 259: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextIntermediate</span>)
1455
- 260: <span class="ruby-comment cmt"># @text is a RichText.</span>
1456
- 261: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'functionHandler'</span>)
1457
- 262: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
1458
- 263: <span class="ruby-keyword kw">end</span>
1459
- 264: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_s</span>
1460
- 265: <span class="ruby-keyword kw">else</span>
1461
- 266: <span class="ruby-ivar">@text</span>
1462
- 267: <span class="ruby-keyword kw">end</span>
1463
- 268:
1464
- 269: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">textAsString</span>.<span class="ruby-identifier">empty?</span>
1465
- 270:
1466
- 271: <span class="ruby-identifier">shortText</span>, <span class="ruby-identifier">singleLine</span> = <span class="ruby-identifier">shortVersion</span>(<span class="ruby-identifier">textAsString</span>)
1467
- 272:
1468
- 273: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@line</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">singleLine</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@width</span> )) <span class="ruby-operator">&amp;&amp;</span>
1469
- 274: <span class="ruby-operator">!</span><span class="ruby-ivar">@headerCell</span>
1470
- 275: <span class="ruby-comment cmt"># The cell is size-limited. We only put a shortened plain-text version</span>
1471
- 276: <span class="ruby-comment cmt"># in the cell and provide the full content via a tooltip.</span>
1472
- 277: <span class="ruby-comment cmt"># Header cells are never shortened.</span>
1473
- 278: <span class="ruby-identifier">tooltip</span> = <span class="ruby-ivar">@text</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">shortText</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">textAsString</span>
1474
- 279: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">shortText</span>)
1475
- 280: <span class="ruby-keyword kw">else</span>
1476
- 281: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextIntermediate</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span>
1477
- 282: <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@text</span>))
1478
- 283: <span class="ruby-keyword kw">end</span>
1479
- 284:
1480
- 285: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">td</span>, <span class="ruby-identifier">tooltip</span>
1481
- 286: <span class="ruby-keyword kw">end</span></pre>
1433
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 234</span>
1434
+ 234: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellLabel</span>
1435
+ 235: <span class="ruby-comment cmt"># If we have a RichText content and a width limit, we enable line</span>
1436
+ 236: <span class="ruby-comment cmt"># wrapping.</span>
1437
+ 237: <span class="ruby-comment cmt"># Overfl. Wrap. Height Width</span>
1438
+ 238: <span class="ruby-comment cmt"># Fixed Height: x - x -</span>
1439
+ 239: <span class="ruby-comment cmt"># Fixed Width: x x - x</span>
1440
+ 240: <span class="ruby-comment cmt"># Both: x - x x</span>
1441
+ 241: <span class="ruby-comment cmt"># None: - x - -</span>
1442
+ 242: <span class="ruby-identifier">fixedHeight</span> = <span class="ruby-ivar">@line</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span>
1443
+ 243: <span class="ruby-identifier">fixedWidth</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@width</span>.<span class="ruby-identifier">nil?</span>
1444
+ 244: <span class="ruby-identifier">style</span> = <span class="ruby-value str">''</span>
1445
+ 245: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;overflow:hidden; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fixedHeight</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">fixedWidth</span>
1446
+ 246: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;white-space:#{fixedWidth &amp;&amp; !fixedHeight ?
1447
+ 247: 'normal' : 'nowrap'}; &quot;</span>
1448
+ 248: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fixedHeight</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">fixedWidth</span>
1449
+ 249: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;height:#{@line.height - 3}px; &quot;</span>
1450
+ 250: <span class="ruby-keyword kw">end</span>
1451
+ 251: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'font-weight:bold; '</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@bold</span>
1452
+ 252: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;font-size: #{@fontSize}px; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fontSize</span>
1453
+ 253: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fontColor</span>
1454
+ 254: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;color:#{@fontColor}; &quot;</span>
1455
+ 255: <span class="ruby-keyword kw">end</span>
1456
+ 256:
1457
+ 257: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">empty?</span>
1458
+ 258:
1459
+ 259: <span class="ruby-identifier">tooltip</span> = <span class="ruby-keyword kw">nil</span>
1460
+ 260:
1461
+ 261: <span class="ruby-comment cmt"># @text can be a String or a RichText (with or without embedded</span>
1462
+ 262: <span class="ruby-comment cmt"># queries). To find out if @text has multiple lines, we need to expand</span>
1463
+ 263: <span class="ruby-comment cmt"># it and convert it to a plain text again.</span>
1464
+ 264: <span class="ruby-identifier">textAsString</span> =
1465
+ 265: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextIntermediate</span>)
1466
+ 266: <span class="ruby-comment cmt"># @text is a RichText.</span>
1467
+ 267: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'functionHandler'</span>)
1468
+ 268: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
1469
+ 269: <span class="ruby-keyword kw">end</span>
1470
+ 270: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_s</span>
1471
+ 271: <span class="ruby-keyword kw">else</span>
1472
+ 272: <span class="ruby-ivar">@text</span>
1473
+ 273: <span class="ruby-keyword kw">end</span>
1474
+ 274:
1475
+ 275: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">textAsString</span>.<span class="ruby-identifier">empty?</span>
1476
+ 276:
1477
+ 277: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@width</span>
1478
+ 278: <span class="ruby-comment cmt"># We have 4 pixels padding on each side of the cell.</span>
1479
+ 279: <span class="ruby-identifier">labelWidth</span> = <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-value">8</span>
1480
+ 280: <span class="ruby-identifier">labelWidth</span> <span class="ruby-operator">-=</span> <span class="ruby-ivar">@leftIndent</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@leftIndent</span>
1481
+ 281: <span class="ruby-identifier">labelWidth</span> <span class="ruby-operator">-=</span> <span class="ruby-ivar">@rightIndent</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rightIndent</span>
1482
+ 282: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
1483
+ 283: <span class="ruby-comment cmt"># The icons are 20 pixels width including padding.</span>
1484
+ 284: <span class="ruby-identifier">labelWidth</span> <span class="ruby-operator">-=</span> <span class="ruby-value">20</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@icon</span>
1485
+ 285: <span class="ruby-identifier">labelWidth</span> <span class="ruby-operator">-=</span> <span class="ruby-value">20</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tooltip</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tooltip</span>
1486
+ 286: <span class="ruby-keyword kw">end</span>
1487
+ 287: <span class="ruby-keyword kw">else</span>
1488
+ 288: <span class="ruby-identifier">labelWidth</span> = <span class="ruby-keyword kw">nil</span>
1489
+ 289: <span class="ruby-keyword kw">end</span>
1490
+ 290: <span class="ruby-identifier">shortText</span>, <span class="ruby-identifier">singleLine</span> = <span class="ruby-identifier">shortVersion</span>(<span class="ruby-identifier">textAsString</span>, <span class="ruby-identifier">labelWidth</span>)
1491
+ 291:
1492
+ 292: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@line</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">singleLine</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@width</span> )) <span class="ruby-operator">&amp;&amp;</span>
1493
+ 293: <span class="ruby-operator">!</span><span class="ruby-ivar">@headerCell</span>
1494
+ 294: <span class="ruby-comment cmt"># The cell is size-limited. We only put a shortened plain-text version</span>
1495
+ 295: <span class="ruby-comment cmt"># in the cell and provide the full content via a tooltip.</span>
1496
+ 296: <span class="ruby-comment cmt"># Header cells are never shortened.</span>
1497
+ 297: <span class="ruby-identifier">tooltip</span> = <span class="ruby-ivar">@text</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">shortText</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">textAsString</span>
1498
+ 298: <span class="ruby-identifier">tl</span> = <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">shortText</span>)
1499
+ 299: <span class="ruby-keyword kw">else</span>
1500
+ 300: <span class="ruby-identifier">tl</span> = (<span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextIntermediate</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span>
1501
+ 301: <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@text</span>))
1502
+ 302: <span class="ruby-keyword kw">end</span>
1503
+ 303:
1504
+ 304: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">labelWidth</span>
1505
+ 305: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;min-width: #{labelWidth}px; max-width: #{labelWidth}px; &quot;</span>
1506
+ 306: <span class="ruby-keyword kw">end</span>
1507
+ 307:
1508
+ 308: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tj_table_cell_label'</span>,
1509
+ 309: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">style</span>)
1510
+ 310: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tl</span>
1511
+ 311:
1512
+ 312: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">td</span>, <span class="ruby-identifier">tooltip</span>
1513
+ 313: <span class="ruby-keyword kw">end</span></pre>
1482
1514
  </div>
1483
1515
 
1484
1516
  </div>
@@ -1511,15 +1543,15 @@ Determine cell style
1511
1543
  <div class="method-source-code"
1512
1544
  id="cell-tyle-source">
1513
1545
  <pre>
1514
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 200</span>
1515
- 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellStyle</span>
1516
- 201: <span class="ruby-identifier">style</span> = <span class="ruby-node">&quot;text-align:#{@alignment.to_s}; &quot;</span>
1517
- 202: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@line</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span>
1518
- 203: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;height:#{@line.height - 7}px; &quot;</span>
1519
- 204: <span class="ruby-keyword kw">end</span>
1520
- 205:
1521
- 206: <span class="ruby-identifier">style</span>
1522
- 207: <span class="ruby-keyword kw">end</span></pre>
1546
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 213</span>
1547
+ 213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellStyle</span>
1548
+ 214: <span class="ruby-identifier">style</span> = <span class="ruby-node">&quot;text-align:#{@alignment.to_s}; &quot;</span>
1549
+ 215: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@line</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span>
1550
+ 216: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;height:#{@line.height - 7}px; &quot;</span>
1551
+ 217: <span class="ruby-keyword kw">end</span>
1552
+ 218:
1553
+ 219: <span class="ruby-identifier">style</span>
1554
+ 220: <span class="ruby-keyword kw">end</span></pre>
1523
1555
  </div>
1524
1556
 
1525
1557
  </div>
@@ -1536,7 +1568,7 @@ Determine cell style
1536
1568
  <div class="method-heading">
1537
1569
 
1538
1570
  <span class="method-name">shortVersion</span><span
1539
- class="method-args">(itext)</span>
1571
+ class="method-args">(itext, width)</span>
1540
1572
  <span class="method-click-advice">click to toggle source</span>
1541
1573
 
1542
1574
  </div>
@@ -1554,25 +1586,33 @@ that fits the column.
1554
1586
  <div class="method-source-code"
1555
1587
  id="short-ersion-source">
1556
1588
  <pre>
1557
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 290</span>
1558
- 290: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortVersion</span>(<span class="ruby-identifier">itext</span>)
1559
- 291: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">itext</span>.<span class="ruby-identifier">to_s</span>
1560
- 292: <span class="ruby-identifier">singleLine</span> = <span class="ruby-keyword kw">true</span>
1561
- 293: <span class="ruby-identifier">modified</span> = <span class="ruby-keyword kw">false</span>
1562
- 294: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
1563
- 295: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">text</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">&quot;\n&quot;</span>)]
1564
- 296: <span class="ruby-identifier">singleLine</span> = <span class="ruby-keyword kw">false</span>
1565
- 297: <span class="ruby-identifier">modified</span> = <span class="ruby-keyword kw">true</span>
1566
- 298: <span class="ruby-keyword kw">end</span>
1567
- 299: <span class="ruby-comment cmt"># Assuming an average character width of 8 pixels</span>
1568
- 300: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@width</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">text</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> (<span class="ruby-ivar">@width</span> <span class="ruby-operator">/</span> <span class="ruby-value">8</span>))
1569
- 301: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>[<span class="ruby-value">0</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">/</span> <span class="ruby-value">8</span>]
1570
- 302: <span class="ruby-identifier">modified</span> = <span class="ruby-keyword kw">true</span>
1571
- 303: <span class="ruby-keyword kw">end</span>
1572
- 304: <span class="ruby-comment cmt"># Add three dots to show that there is more info available.</span>
1573
- 305: <span class="ruby-identifier">text</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;...&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">modified</span>
1574
- 306: [ <span class="ruby-identifier">text</span>, <span class="ruby-identifier">singleLine</span> ]
1575
- 307: <span class="ruby-keyword kw">end</span></pre>
1589
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 317</span>
1590
+ 317: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortVersion</span>(<span class="ruby-identifier">itext</span>, <span class="ruby-identifier">width</span>)
1591
+ 318: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">itext</span>.<span class="ruby-identifier">to_s</span>
1592
+ 319: <span class="ruby-identifier">singleLine</span> = <span class="ruby-keyword kw">true</span>
1593
+ 320: <span class="ruby-identifier">modified</span> = <span class="ruby-keyword kw">false</span>
1594
+ 321: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
1595
+ 322: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">text</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">&quot;\n&quot;</span>)]
1596
+ 323: <span class="ruby-identifier">singleLine</span> = <span class="ruby-keyword kw">false</span>
1597
+ 324: <span class="ruby-identifier">modified</span> = <span class="ruby-keyword kw">true</span>
1598
+ 325: <span class="ruby-keyword kw">end</span>
1599
+ 326: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">width</span>
1600
+ 327: <span class="ruby-identifier">widthWithoutIcon</span> = <span class="ruby-identifier">width</span> <span class="ruby-operator">-</span> <span class="ruby-value">20</span>
1601
+ 328: <span class="ruby-comment cmt"># Assuming an average character width of 7 pixels</span>
1602
+ 329: <span class="ruby-identifier">maxChars</span> = <span class="ruby-identifier">widthWithoutIcon</span> <span class="ruby-operator">/</span> <span class="ruby-value">7</span>
1603
+ 330: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">maxChars</span>
1604
+ 331: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">maxChars</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
1605
+ 332: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">maxChars</span>]
1606
+ 333: <span class="ruby-keyword kw">else</span>
1607
+ 334: <span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
1608
+ 335: <span class="ruby-keyword kw">end</span>
1609
+ 336: <span class="ruby-identifier">modified</span> = <span class="ruby-keyword kw">true</span>
1610
+ 337: <span class="ruby-keyword kw">end</span>
1611
+ 338: <span class="ruby-keyword kw">end</span>
1612
+ 339: <span class="ruby-comment cmt"># Add three dots to show that there is more info available.</span>
1613
+ 340: <span class="ruby-identifier">text</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;...&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">modified</span>
1614
+ 341: [ <span class="ruby-identifier">text</span>, <span class="ruby-identifier">singleLine</span> ]
1615
+ 342: <span class="ruby-keyword kw">end</span></pre>
1576
1616
  </div>
1577
1617
 
1578
1618
  </div>