taskjuggler 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. data/benchmarks/UTF-8-Strings.rb +58 -0
  2. data/data/css/tjmanual.css +52 -0
  3. data/data/css/tjreport.css +195 -0
  4. data/data/icons/details.png +0 -0
  5. data/data/icons/flag-green.png +0 -0
  6. data/data/icons/flag-red.png +0 -0
  7. data/data/icons/flag-yellow.png +0 -0
  8. data/data/icons/resource.png +0 -0
  9. data/data/icons/resourcegroup.png +0 -0
  10. data/data/icons/task.png +0 -0
  11. data/data/icons/taskgroup.png +0 -0
  12. data/data/icons/trend-down.png +0 -0
  13. data/data/icons/trend-flat.png +0 -0
  14. data/data/icons/trend-up.png +0 -0
  15. data/data/scripts/wz_tooltip.js +1301 -0
  16. data/doc/classes/AppConfig.html +298 -230
  17. data/doc/classes/Arguments.html +8 -8
  18. data/doc/classes/Object.html +7 -7
  19. data/doc/classes/String.html +89 -89
  20. data/doc/classes/TaskJuggler.html +396 -264
  21. data/doc/classes/TaskJuggler/Account.html +18 -18
  22. data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
  23. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  24. data/doc/classes/TaskJuggler/Allocation.html +30 -30
  25. data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
  26. data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
  27. data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
  28. data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
  29. data/doc/classes/TaskJuggler/Booking.html +18 -18
  30. data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
  31. data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
  32. data/doc/classes/TaskJuggler/CSVFile.html +24 -24
  33. data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
  34. data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
  35. data/doc/classes/TaskJuggler/Charge.html +18 -18
  36. data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
  37. data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
  38. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
  39. data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
  40. data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
  41. data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
  42. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
  43. data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
  44. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  45. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  46. data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
  47. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  48. data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
  49. data/doc/classes/TaskJuggler/GanttChart.html +48 -48
  50. data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
  51. data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
  52. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
  53. data/doc/classes/TaskJuggler/GanttLine.html +24 -24
  54. data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
  55. data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
  56. data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
  57. data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
  58. data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
  59. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  60. data/doc/classes/TaskJuggler/Interval.html +57 -57
  61. data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
  62. data/doc/classes/TaskJuggler/JobInfo.html +68 -12
  63. data/doc/classes/TaskJuggler/Journal.html +266 -20
  64. data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
  65. data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
  66. data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
  67. data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
  68. data/doc/classes/TaskJuggler/Limits.html +36 -36
  69. data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
  70. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  71. data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
  72. data/doc/classes/TaskJuggler/Log.html +145 -107
  73. data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
  74. data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
  75. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
  76. data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
  77. data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
  78. data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
  79. data/doc/classes/TaskJuggler/Macro.html +6 -6
  80. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  81. data/doc/classes/TaskJuggler/MacroTable.html +37 -37
  82. data/doc/classes/TaskJuggler/Message.html +12 -12
  83. data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
  84. data/doc/classes/TaskJuggler/Navigator.html +110 -46
  85. data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
  86. data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
  87. data/doc/classes/TaskJuggler/Project.html +1158 -893
  88. data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
  89. data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
  90. data/doc/classes/TaskJuggler/PropertyList.html +225 -155
  91. data/doc/classes/TaskJuggler/PropertySet.html +375 -332
  92. data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
  93. data/doc/classes/TaskJuggler/Query.html +404 -139
  94. data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
  95. data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
  96. data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
  97. data/doc/classes/TaskJuggler/RealFormat.html +18 -18
  98. data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
  99. data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
  100. data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
  101. data/doc/classes/TaskJuggler/Report.html +66 -64
  102. data/doc/classes/TaskJuggler/ReportBase.html +112 -123
  103. data/doc/classes/TaskJuggler/ReportContext.html +43 -38
  104. data/doc/classes/TaskJuggler/ReportServer.html +320 -0
  105. data/doc/classes/TaskJuggler/ReportTable.html +42 -42
  106. data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
  107. data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
  108. data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
  109. data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
  110. data/doc/classes/TaskJuggler/Resource.html +12 -12
  111. data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
  112. data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
  113. data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
  114. data/doc/classes/TaskJuggler/RichText.html +64 -248
  115. data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
  116. data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
  117. data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
  118. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  119. data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
  120. data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
  121. data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
  122. data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
  123. data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
  124. data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
  125. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
  126. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  127. data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
  128. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
  129. data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
  130. data/doc/classes/TaskJuggler/Shift.html +18 -18
  131. data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
  132. data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
  133. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  134. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  135. data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
  136. data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
  137. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  138. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  139. data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
  140. data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
  141. data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
  142. data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
  143. data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
  144. data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
  145. data/doc/classes/TaskJuggler/TableReport.html +447 -468
  146. data/doc/classes/TaskJuggler/Task.html +12 -12
  147. data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
  148. data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
  149. data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
  150. data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
  151. data/doc/classes/TaskJuggler/TextParser.html +215 -194
  152. data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
  153. data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
  154. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
  155. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  156. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
  157. data/doc/classes/TaskJuggler/TextReport.html +77 -74
  158. data/doc/classes/TaskJuggler/TextScanner.html +294 -281
  159. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  160. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
  161. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
  162. data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
  163. data/doc/classes/TaskJuggler/TjException.html +6 -6
  164. data/doc/classes/TaskJuggler/TjTime.html +522 -513
  165. data/doc/classes/TaskJuggler/TjpExample.html +25 -25
  166. data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
  167. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
  168. data/doc/classes/TaskJuggler/UserManual.html +212 -213
  169. data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
  170. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
  171. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  172. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  173. data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
  174. data/doc/classes/TaskJuggler/XMLElement.html +86 -50
  175. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  176. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  177. data/doc/files/COPYING.html +1 -1
  178. data/doc/files/README.html +1 -1
  179. data/doc/files/lib/AccountScenario_rb.html +3 -2
  180. data/doc/files/lib/Account_rb.html +3 -2
  181. data/doc/files/lib/Allocation_rb.html +3 -2
  182. data/doc/files/lib/AppConfig_rb.html +5 -2
  183. data/doc/files/lib/AttributeBase_rb.html +3 -2
  184. data/doc/files/lib/AttributeDefinition_rb.html +3 -2
  185. data/doc/files/lib/Attributes_rb.html +3 -2
  186. data/doc/files/lib/BatchProcessor_rb.html +4 -3
  187. data/doc/files/lib/Booking_rb.html +3 -2
  188. data/doc/files/lib/ChargeSet_rb.html +3 -2
  189. data/doc/files/lib/Charge_rb.html +3 -2
  190. data/doc/files/lib/HTMLDocument_rb.html +3 -2
  191. data/doc/files/lib/Interval_rb.html +3 -2
  192. data/doc/files/lib/Journal_rb.html +4 -3
  193. data/doc/files/lib/KeywordArray_rb.html +3 -2
  194. data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
  195. data/doc/files/lib/Limits_rb.html +3 -2
  196. data/doc/files/lib/Log_rb.html +3 -2
  197. data/doc/files/lib/LogicalExpression_rb.html +3 -2
  198. data/doc/files/lib/LogicalFunction_rb.html +3 -2
  199. data/doc/files/lib/LogicalOperation_rb.html +3 -2
  200. data/doc/files/lib/MacroParser_rb.html +3 -2
  201. data/doc/files/lib/MacroTable_rb.html +3 -2
  202. data/doc/files/lib/MessageHandler_rb.html +3 -2
  203. data/doc/files/lib/Message_rb.html +3 -2
  204. data/doc/files/lib/ProjectFileParser_rb.html +7 -4
  205. data/doc/files/lib/Project_rb.html +3 -2
  206. data/doc/files/lib/PropertyList_rb.html +3 -2
  207. data/doc/files/lib/PropertySet_rb.html +3 -2
  208. data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
  209. data/doc/files/lib/Query_rb.html +3 -2
  210. data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
  211. data/doc/files/lib/RTFQuery_rb.html +121 -0
  212. data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
  213. data/doc/files/lib/RealFormat_rb.html +3 -2
  214. data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
  215. data/doc/files/lib/ReportServer_rb.html +107 -0
  216. data/doc/files/lib/ResourceScenario_rb.html +3 -2
  217. data/doc/files/lib/Resource_rb.html +3 -2
  218. data/doc/files/lib/RichTextDocument_rb.html +4 -3
  219. data/doc/files/lib/RichTextElement_rb.html +3 -2
  220. data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
  221. data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
  222. data/doc/files/lib/RichTextParser_rb.html +3 -2
  223. data/doc/files/lib/RichTextScanner_rb.html +3 -2
  224. data/doc/files/lib/RichTextSnip_rb.html +3 -2
  225. data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
  226. data/doc/files/lib/RichText_rb.html +3 -2
  227. data/doc/files/lib/ScenarioData_rb.html +3 -2
  228. data/doc/files/lib/Scenario_rb.html +3 -2
  229. data/doc/files/lib/Scoreboard_rb.html +3 -2
  230. data/doc/files/lib/ShiftAssignments_rb.html +3 -2
  231. data/doc/files/lib/ShiftScenario_rb.html +3 -2
  232. data/doc/files/lib/Shift_rb.html +3 -2
  233. data/doc/files/lib/SourceFileInfo_rb.html +3 -2
  234. data/doc/files/lib/SyntaxReference_rb.html +3 -2
  235. data/doc/files/lib/TOCEntry_rb.html +3 -2
  236. data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
  237. data/doc/files/lib/TableOfContents_rb.html +3 -2
  238. data/doc/files/lib/TaskDependency_rb.html +3 -2
  239. data/doc/files/lib/TaskJuggler_rb.html +7 -2
  240. data/doc/files/lib/TaskScenario_rb.html +3 -2
  241. data/doc/files/lib/Task_rb.html +3 -2
  242. data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
  243. data/doc/files/lib/TextParser/Rule_rb.html +4 -3
  244. data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
  245. data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
  246. data/doc/files/lib/TextParser_rb.html +3 -2
  247. data/doc/files/lib/TextScanner_rb.html +3 -2
  248. data/doc/files/lib/Tj3Config_rb.html +3 -2
  249. data/doc/files/lib/TjException_rb.html +3 -2
  250. data/doc/files/lib/TjTime_rb.html +3 -2
  251. data/doc/files/lib/TjpExample_rb.html +3 -2
  252. data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
  253. data/doc/files/lib/UTF8String_rb.html +14 -6
  254. data/doc/files/lib/UserManual_rb.html +6 -3
  255. data/doc/files/lib/WorkingHours_rb.html +3 -2
  256. data/doc/files/lib/XMLDocument_rb.html +3 -2
  257. data/doc/files/lib/XMLElement_rb.html +3 -2
  258. data/doc/files/lib/deep_copy_rb.html +3 -2
  259. data/doc/files/lib/reports/CSVFile_rb.html +3 -2
  260. data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
  261. data/doc/files/lib/reports/GanttChart_rb.html +3 -2
  262. data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
  263. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
  264. data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
  265. data/doc/files/lib/reports/GanttLine_rb.html +3 -2
  266. data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
  267. data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
  268. data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
  269. data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
  270. data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
  271. data/doc/files/lib/reports/Navigator_rb.html +3 -2
  272. data/doc/files/lib/reports/ReportBase_rb.html +3 -2
  273. data/doc/files/lib/reports/ReportContext_rb.html +3 -2
  274. data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
  275. data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
  276. data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
  277. data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
  278. data/doc/files/lib/reports/ReportTable_rb.html +3 -2
  279. data/doc/files/lib/reports/Report_rb.html +7 -2
  280. data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
  281. data/doc/files/lib/reports/TableReport_rb.html +3 -2
  282. data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
  283. data/doc/files/lib/reports/TextReport_rb.html +4 -3
  284. data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
  285. data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
  286. data/doc/files/lib/taskjuggler3_rb.html +94 -77
  287. data/doc/files/lib/tj3client_rb.html +280 -0
  288. data/doc/files/lib/tj3man_rb.html +10 -9
  289. data/doc/fr_class_index.html +27 -5
  290. data/doc/fr_file_index.html +15 -7
  291. data/doc/fr_method_index.html +1312 -1020
  292. data/examples/tutorial.tjp +113 -14
  293. data/gem_spec.rb +2 -1
  294. data/lib/Account.rb +1 -1
  295. data/lib/AccountScenario.rb +1 -1
  296. data/lib/Allocation.rb +1 -1
  297. data/lib/AppConfig.rb +23 -10
  298. data/lib/AttributeBase.rb +34 -6
  299. data/lib/AttributeDefinition.rb +1 -1
  300. data/lib/Attributes.rb +51 -16
  301. data/lib/BatchProcessor.rb +204 -77
  302. data/lib/Booking.rb +1 -1
  303. data/lib/Charge.rb +1 -1
  304. data/lib/ChargeSet.rb +1 -1
  305. data/lib/HTMLDocument.rb +2 -2
  306. data/lib/Interval.rb +1 -1
  307. data/lib/Journal.rb +231 -9
  308. data/lib/KeywordArray.rb +1 -1
  309. data/lib/KeywordDocumentation.rb +6 -4
  310. data/lib/Limits.rb +1 -1
  311. data/lib/Log.rb +8 -1
  312. data/lib/LogicalExpression.rb +14 -13
  313. data/lib/LogicalFunction.rb +88 -14
  314. data/lib/LogicalOperation.rb +124 -53
  315. data/lib/MacroParser.rb +1 -1
  316. data/lib/MacroTable.rb +2 -2
  317. data/lib/Message.rb +1 -1
  318. data/lib/MessageHandler.rb +7 -3
  319. data/lib/Project.rb +93 -14
  320. data/lib/ProjectFileParser.rb +30 -15
  321. data/lib/PropertyList.rb +103 -36
  322. data/lib/PropertySet.rb +22 -10
  323. data/lib/PropertyTreeNode.rb +120 -15
  324. data/lib/Query.rb +119 -48
  325. data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
  326. data/lib/RTFQuery.rb +166 -0
  327. data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
  328. data/lib/RealFormat.rb +1 -1
  329. data/lib/RemoteServiceManager.rb +80 -0
  330. data/lib/ReportServer.rb +66 -0
  331. data/lib/Resource.rb +1 -1
  332. data/lib/ResourceScenario.rb +48 -19
  333. data/lib/RichText.rb +98 -41
  334. data/lib/RichTextDocument.rb +10 -8
  335. data/lib/RichTextElement.rb +72 -28
  336. data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
  337. data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
  338. data/lib/RichTextParser.rb +6 -3
  339. data/lib/RichTextScanner.rb +91 -19
  340. data/lib/RichTextSnip.rb +8 -3
  341. data/lib/RichTextSyntaxRules.rb +103 -45
  342. data/lib/Scenario.rb +1 -1
  343. data/lib/ScenarioData.rb +2 -2
  344. data/lib/Scoreboard.rb +1 -1
  345. data/lib/Shift.rb +1 -1
  346. data/lib/ShiftAssignments.rb +1 -1
  347. data/lib/ShiftScenario.rb +1 -1
  348. data/lib/SourceFileInfo.rb +1 -1
  349. data/lib/SyntaxReference.rb +2 -2
  350. data/lib/TOCEntry.rb +1 -1
  351. data/lib/TableColumnDefinition.rb +59 -16
  352. data/lib/TableOfContents.rb +1 -1
  353. data/lib/Task.rb +1 -1
  354. data/lib/TaskDependency.rb +1 -1
  355. data/lib/TaskJuggler.rb +31 -8
  356. data/lib/TaskScenario.rb +165 -16
  357. data/lib/TextParser.rb +36 -22
  358. data/lib/TextParser/Pattern.rb +3 -3
  359. data/lib/TextParser/Rule.rb +2 -2
  360. data/lib/TextParser/StackElement.rb +4 -3
  361. data/lib/TextParser/TokenDoc.rb +2 -2
  362. data/lib/TextScanner.rb +52 -37
  363. data/lib/Tj3Config.rb +6 -5
  364. data/lib/TjException.rb +1 -1
  365. data/lib/TjTime.rb +12 -3
  366. data/lib/TjpExample.rb +1 -1
  367. data/lib/TjpSyntaxRules.rb +1044 -150
  368. data/lib/UTF8String.rb +2 -1
  369. data/lib/UserManual.rb +18 -70
  370. data/lib/WorkingHours.rb +3 -3
  371. data/lib/XMLDocument.rb +3 -2
  372. data/lib/XMLElement.rb +6 -1
  373. data/lib/deep_copy.rb +1 -1
  374. data/lib/reports/CSVFile.rb +1 -1
  375. data/lib/reports/ColumnTable.rb +9 -9
  376. data/lib/reports/GanttChart.rb +1 -1
  377. data/lib/reports/GanttContainer.rb +1 -1
  378. data/lib/reports/GanttHeader.rb +1 -1
  379. data/lib/reports/GanttHeaderScaleItem.rb +1 -1
  380. data/lib/reports/GanttLine.rb +40 -40
  381. data/lib/reports/GanttLoadStack.rb +1 -1
  382. data/lib/reports/GanttMilestone.rb +1 -1
  383. data/lib/reports/GanttRouter.rb +1 -1
  384. data/lib/reports/GanttTaskBar.rb +1 -1
  385. data/lib/reports/HTMLGraphics.rb +1 -1
  386. data/lib/reports/Navigator.rb +149 -22
  387. data/lib/reports/Report.rb +115 -172
  388. data/lib/reports/ReportBase.rb +22 -27
  389. data/lib/reports/ReportContext.rb +29 -15
  390. data/lib/reports/ReportTable.rb +1 -1
  391. data/lib/reports/ReportTableCell.rb +120 -27
  392. data/lib/reports/ReportTableColumn.rb +3 -3
  393. data/lib/reports/ReportTableLegend.rb +1 -1
  394. data/lib/reports/ReportTableLine.rb +10 -2
  395. data/lib/reports/ResourceListRE.rb +5 -1
  396. data/lib/reports/TableReport.rb +237 -287
  397. data/lib/reports/TaskListRE.rb +5 -1
  398. data/lib/reports/TextReport.rb +7 -4
  399. data/lib/reports/TimeSheetReport.rb +233 -0
  400. data/lib/reports/TjpExportRE.rb +2 -2
  401. data/lib/taskjuggler3.rb +27 -11
  402. data/lib/tj3client.rb +110 -0
  403. data/lib/tj3man.rb +4 -4
  404. data/manual/Getting_Started +0 -50
  405. data/manual/How_To_Contribute +6 -13
  406. data/manual/Installation +102 -28
  407. data/manual/Intro +11 -1
  408. data/manual/Reporting_Bugs +23 -7
  409. data/manual/Rich_Text_Attributes +59 -6
  410. data/manual/TaskJuggler_2x_Migration +27 -0
  411. data/manual/The_TaskJuggler_Syntax +104 -0
  412. data/manual/Tutorial +10 -9
  413. data/prj_cfg.rb +8 -2
  414. data/tasks/csts.rake +1 -1
  415. data/tasks/manual.rake +5 -3
  416. data/test/MessageChecker.rb +1 -1
  417. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  418. data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
  419. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  420. data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
  421. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  422. data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
  423. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  424. data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
  425. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
  426. data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
  427. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  428. data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
  429. data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
  430. data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
  431. data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
  432. data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
  433. data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
  434. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  435. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  436. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  437. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  438. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  439. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  440. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  441. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  442. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  443. data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
  444. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  445. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
  446. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
  447. data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
  448. data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
  449. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
  450. data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
  451. data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
  452. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
  453. data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
  454. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  455. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  456. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  457. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  458. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  459. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  460. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  461. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  462. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  463. data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
  464. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
  465. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
  466. data/test/all.rb +2 -2
  467. data/test/test_BatchProcessor.rb +42 -13
  468. data/test/test_CSV-Reports.rb +1 -1
  469. data/test/test_Journal.rb +176 -0
  470. data/test/test_Limits.rb +1 -1
  471. data/test/test_LogicalExpression.rb +14 -5
  472. data/test/test_MacroTable.rb +1 -1
  473. data/test/test_Project.rb +1 -1
  474. data/test/test_PropertySet.rb +1 -1
  475. data/test/test_Query.rb +1 -1
  476. data/test/test_RealFormat.rb +1 -1
  477. data/test/test_RichText.rb +30 -20
  478. data/test/test_Scheduler.rb +1 -1
  479. data/test/test_ShiftAssignments.rb +2 -2
  480. data/test/test_Syntax.rb +1 -1
  481. data/test/test_TextScanner.rb +1 -1
  482. data/test/test_TjTime.rb +1 -1
  483. data/test/test_TjpExample.rb +1 -1
  484. data/test/test_UTF8String.rb +1 -1
  485. data/test/test_WorkingHours.rb +1 -1
  486. data/test/test_deep_copy.rb +2 -2
  487. metadata +610 -532
  488. data/doc/files/lib/ms_test_rb.html +0 -90
  489. data/examples/ContactList.html +0 -1467
  490. data/examples/Deliveries.html +0 -485
  491. data/examples/Development.html +0 -2525
  492. data/examples/Overview.html +0 -747
  493. data/examples/Resource Graph.html +0 -616
  494. data/lib/ms_test.rb +0 -27
  495. data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
@@ -108,13 +108,13 @@ methods such as to_html.
108
108
 
109
109
  <div class="name-list">
110
110
 
111
- <a href="#M000655">==</a>&nbsp;&nbsp;
111
+ <a href="#M000340">==</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000654">new</a>&nbsp;&nbsp;
113
+ <a href="#M000339">new</a>&nbsp;&nbsp;
114
114
 
115
- <a href="#M000657">to_csv</a>&nbsp;&nbsp;
115
+ <a href="#M000342">to_csv</a>&nbsp;&nbsp;
116
116
 
117
- <a href="#M000656">to_html</a>&nbsp;&nbsp;
117
+ <a href="#M000341">to_html</a>&nbsp;&nbsp;
118
118
 
119
119
  </div>
120
120
  </div>
@@ -157,6 +157,14 @@ methods such as to_html.
157
157
  <td class="context-item-desc"></td>
158
158
  </tr>
159
159
 
160
+ <tr class="top-aligned-row context-row">
161
+ <td class="context-item-name">cellColor</td>
162
+
163
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
164
+
165
+ <td class="context-item-desc"></td>
166
+ </tr>
167
+
160
168
  <tr class="top-aligned-row context-row">
161
169
  <td class="context-item-name">columns</td>
162
170
 
@@ -197,6 +205,14 @@ methods such as to_html.
197
205
  <td class="context-item-desc"></td>
198
206
  </tr>
199
207
 
208
+ <tr class="top-aligned-row context-row">
209
+ <td class="context-item-name">icon</td>
210
+
211
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
212
+
213
+ <td class="context-item-desc"></td>
214
+ </tr>
215
+
200
216
  <tr class="top-aligned-row context-row">
201
217
  <td class="context-item-name">indent</td>
202
218
 
@@ -229,6 +245,14 @@ methods such as to_html.
229
245
  <td class="context-item-desc"></td>
230
246
  </tr>
231
247
 
248
+ <tr class="top-aligned-row context-row">
249
+ <td class="context-item-name">selfcontained</td>
250
+
251
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
252
+
253
+ <td class="context-item-desc"></td>
254
+ </tr>
255
+
232
256
  <tr class="top-aligned-row context-row">
233
257
  <td class="context-item-name">special</td>
234
258
 
@@ -246,7 +270,7 @@ methods such as to_html.
246
270
  </tr>
247
271
 
248
272
  <tr class="top-aligned-row context-row">
249
- <td class="context-item-name">url</td>
273
+ <td class="context-item-name">tooltip</td>
250
274
 
251
275
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
252
276
 
@@ -273,14 +297,14 @@ methods such as to_html.
273
297
  <h3 class="section-bar">Public Class methods</h3>
274
298
 
275
299
 
276
- <div id="method-M000654" class="method-detail">
277
- <a name="M000654"></a>
300
+ <div id="method-M000339" class="method-detail">
301
+ <a name="M000339"></a>
278
302
 
279
303
  <div class="method-heading">
280
304
 
281
- <a href="#M000654" class="method-signature">
305
+ <a href="#M000339" class="method-signature">
282
306
 
283
- <span class="method-name">new</span><span class="method-args">(line, text = '', headerCell = false)</span>
307
+ <span class="method-name">new</span><span class="method-args">(line, query, text = nil, headerCell = false)</span>
284
308
 
285
309
  </a>
286
310
 
@@ -298,39 +322,47 @@ cells.
298
322
  </p>
299
323
 
300
324
  <p><a class="source-toggle" href="#"
301
- onclick="toggleCode('M000654-source');return false;">[Source]</a></p>
302
- <div class="method-source-code" id="M000654-source">
325
+ onclick="toggleCode('M000339-source');return false;">[Source]</a></p>
326
+ <div class="method-source-code" id="M000339-source">
303
327
  <pre>
304
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 31</span>
305
- 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>, <span class="ruby-identifier">headerCell</span> = <span class="ruby-keyword kw">false</span>)
306
- 32: <span class="ruby-ivar">@line</span> = <span class="ruby-identifier">line</span>
307
- 33: <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>
308
- 34:
309
- 35: <span class="ruby-ivar">@headerCell</span> = <span class="ruby-identifier">headerCell</span>
310
- 36: <span class="ruby-comment cmt"># The printable form of the cell content</span>
311
- 37: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
312
- 38: <span class="ruby-comment cmt"># A URL that is associated with the content of the cell.</span>
313
- 39: <span class="ruby-ivar">@url</span> = <span class="ruby-keyword kw">nil</span>
314
- 40: <span class="ruby-comment cmt"># The original data of the cell content (optional, nil if not provided)</span>
315
- 41: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
316
- 42: <span class="ruby-ivar">@category</span> = <span class="ruby-keyword kw">nil</span>
317
- 43: <span class="ruby-ivar">@hidden</span> = <span class="ruby-keyword kw">false</span>
318
- 44: <span class="ruby-comment cmt"># How to horizontally align the cell</span>
319
- 45: <span class="ruby-ivar">@alignment</span> = <span class="ruby-identifier">:center</span>
320
- 46: <span class="ruby-comment cmt"># Horizontal padding between frame and cell content</span>
321
- 47: <span class="ruby-ivar">@padding</span> = <span class="ruby-value">3</span>
322
- 48: <span class="ruby-comment cmt"># Whether or not to indent the cell. If not nil, it is a Fixnum</span>
323
- 49: <span class="ruby-comment cmt"># indicating the indentation level.</span>
324
- 50: <span class="ruby-ivar">@indent</span> = <span class="ruby-keyword kw">nil</span>
325
- 51: <span class="ruby-ivar">@fontSize</span> = <span class="ruby-keyword kw">nil</span>
326
- 52: <span class="ruby-ivar">@fontColor</span> = <span class="ruby-value">0x000000</span>
327
- 53: <span class="ruby-ivar">@bold</span> = <span class="ruby-keyword kw">false</span>
328
- 54: <span class="ruby-ivar">@width</span> = <span class="ruby-keyword kw">nil</span>
329
- 55: <span class="ruby-ivar">@rows</span> = <span class="ruby-value">1</span>
330
- 56: <span class="ruby-ivar">@columns</span> = <span class="ruby-value">1</span>
331
- 57: <span class="ruby-comment cmt"># Ignore everything and use this reference to generate the output.</span>
332
- 58: <span class="ruby-ivar">@special</span> = <span class="ruby-keyword kw">nil</span>
333
- 59: <span class="ruby-keyword kw">end</span>
328
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 33</span>
329
+ 33: <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>)
330
+ 34: <span class="ruby-ivar">@line</span> = <span class="ruby-identifier">line</span>
331
+ 35: <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>
332
+ 36:
333
+ 37: <span class="ruby-ivar">@headerCell</span> = <span class="ruby-identifier">headerCell</span>
334
+ 38: <span class="ruby-comment cmt"># A copy of a Query object that is needed to access project data via the</span>
335
+ 39: <span class="ruby-comment cmt"># query function.</span>
336
+ 40: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">query</span> <span class="ruby-value">? </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>
337
+ 41: <span class="ruby-comment cmt"># The cell textual content. This may be a String or a</span>
338
+ 42: <span class="ruby-comment cmt"># RichTextIntermediate object.</span>
339
+ 43: <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>
340
+ 44: <span class="ruby-comment cmt"># A custom text for the tooltip.</span>
341
+ 45: <span class="ruby-ivar">@tooltip</span> = <span class="ruby-keyword kw">nil</span>
342
+ 46: <span class="ruby-comment cmt"># The original data of the cell content (optional, nil if not provided)</span>
343
+ 47: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
344
+ 48: <span class="ruby-ivar">@category</span> = <span class="ruby-keyword kw">nil</span>
345
+ 49: <span class="ruby-ivar">@hidden</span> = <span class="ruby-keyword kw">false</span>
346
+ 50: <span class="ruby-comment cmt"># How to horizontally align the cell</span>
347
+ 51: <span class="ruby-ivar">@alignment</span> = <span class="ruby-identifier">:center</span>
348
+ 52: <span class="ruby-comment cmt"># Horizontal padding between frame and cell content</span>
349
+ 53: <span class="ruby-ivar">@padding</span> = <span class="ruby-value">3</span>
350
+ 54: <span class="ruby-comment cmt"># Whether or not to indent the cell. If not nil, it is a Fixnum</span>
351
+ 55: <span class="ruby-comment cmt"># indicating the indentation level.</span>
352
+ 56: <span class="ruby-ivar">@indent</span> = <span class="ruby-keyword kw">nil</span>
353
+ 57: <span class="ruby-comment cmt"># The basename of the icon file</span>
354
+ 58: <span class="ruby-ivar">@icon</span> = <span class="ruby-keyword kw">nil</span>
355
+ 59: <span class="ruby-ivar">@fontSize</span> = <span class="ruby-keyword kw">nil</span>
356
+ 60: <span class="ruby-ivar">@cellColor</span> = <span class="ruby-keyword kw">nil</span>
357
+ 61: <span class="ruby-ivar">@fontColor</span> = <span class="ruby-keyword kw">nil</span>
358
+ 62: <span class="ruby-ivar">@bold</span> = <span class="ruby-keyword kw">false</span>
359
+ 63: <span class="ruby-ivar">@width</span> = <span class="ruby-keyword kw">nil</span>
360
+ 64: <span class="ruby-ivar">@rows</span> = <span class="ruby-value">1</span>
361
+ 65: <span class="ruby-ivar">@columns</span> = <span class="ruby-value">1</span>
362
+ 66: <span class="ruby-ivar">@selfcontained</span> = <span class="ruby-keyword kw">false</span>
363
+ 67: <span class="ruby-comment cmt"># Ignore everything and use this reference to generate the output.</span>
364
+ 68: <span class="ruby-ivar">@special</span> = <span class="ruby-keyword kw">nil</span>
365
+ 69: <span class="ruby-keyword kw">end</span>
334
366
  </pre>
335
367
  </div>
336
368
 
@@ -341,12 +373,12 @@ cells.
341
373
  <h3 class="section-bar">Public Instance methods</h3>
342
374
 
343
375
 
344
- <div id="method-M000655" class="method-detail">
345
- <a name="M000655"></a>
376
+ <div id="method-M000340" class="method-detail">
377
+ <a name="M000340"></a>
346
378
 
347
379
  <div class="method-heading">
348
380
 
349
- <a href="#M000655" class="method-signature">
381
+ <a href="#M000340" class="method-signature">
350
382
 
351
383
  <span class="method-name">==</span><span class="method-args">(c)</span>
352
384
 
@@ -363,17 +395,18 @@ cell with.
363
395
  </p>
364
396
 
365
397
  <p><a class="source-toggle" href="#"
366
- onclick="toggleCode('M000655-source');return false;">[Source]</a></p>
367
- <div class="method-source-code" id="M000655-source">
398
+ onclick="toggleCode('M000340-source');return false;">[Source]</a></p>
399
+ <div class="method-source-code" id="M000340-source">
368
400
  <pre>
369
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 64</span>
370
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">c</span>)
371
- 65: <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>
372
- 66: <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>
373
- 67: <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>
374
- 68: <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>
375
- 69: <span class="ruby-ivar">@category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">category</span>
376
- 70: <span class="ruby-keyword kw">end</span>
401
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 74</span>
402
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">c</span>)
403
+ 75: <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>
404
+ 76: <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>
405
+ 77: <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>
406
+ 78: <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>
407
+ 79: <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>
408
+ 80: <span class="ruby-ivar">@category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">category</span>
409
+ 81: <span class="ruby-keyword kw">end</span>
377
410
  </pre>
378
411
  </div>
379
412
 
@@ -381,12 +414,12 @@ cell with.
381
414
  </div>
382
415
 
383
416
 
384
- <div id="method-M000657" class="method-detail">
385
- <a name="M000657"></a>
417
+ <div id="method-M000342" class="method-detail">
418
+ <a name="M000342"></a>
386
419
 
387
420
  <div class="method-heading">
388
421
 
389
- <a href="#M000657" class="method-signature">
422
+ <a href="#M000342" class="method-signature">
390
423
 
391
424
  <span class="method-name">to_csv</span><span class="method-args">(csv)</span>
392
425
 
@@ -401,22 +434,25 @@ Add the text content of the cell to an Array of Arrays form of the table.
401
434
  </p>
402
435
 
403
436
  <p><a class="source-toggle" href="#"
404
- onclick="toggleCode('M000657-source');return false;">[Source]</a></p>
405
- <div class="method-source-code" id="M000657-source">
437
+ onclick="toggleCode('M000342-source');return false;">[Source]</a></p>
438
+ <div class="method-source-code" id="M000342-source">
406
439
  <pre>
407
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 126</span>
408
- 126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>)
409
- 127: <span class="ruby-comment cmt"># We only support left indentation in CSV files as the spaces for right</span>
410
- 128: <span class="ruby-comment cmt"># indentation will be disregarded by most applications.</span>
411
- 129: <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-identifier">:left</span> <span class="ruby-operator">?</span> <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>
412
- 130: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@special</span>
413
- 131: <span class="ruby-identifier">csv</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@special</span>.<span class="ruby-identifier">to_csv</span>
414
- 132: <span class="ruby-keyword kw">elsif</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>)
415
- 133: <span class="ruby-identifier">csv</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@data</span>
416
- 134: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@text</span>
417
- 135: <span class="ruby-identifier">csv</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@text</span>
418
- 136: <span class="ruby-keyword kw">end</span>
419
- 137: <span class="ruby-keyword kw">end</span>
440
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 193</span>
441
+ 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>)
442
+ 194: <span class="ruby-comment cmt"># We only support left indentation in CSV files as the spaces for right</span>
443
+ 195: <span class="ruby-comment cmt"># indentation will be disregarded by most applications.</span>
444
+ 196: <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-identifier">:left</span> <span class="ruby-operator">?</span> <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>
445
+ 197: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@special</span>
446
+ 198: <span class="ruby-identifier">csv</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@special</span>.<span class="ruby-identifier">to_csv</span>
447
+ 199: <span class="ruby-keyword kw">elsif</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>)
448
+ 200: <span class="ruby-identifier">csv</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@data</span>
449
+ 201: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@text</span>
450
+ 202: <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>)
451
+ 203: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">functionHandler</span>(<span class="ruby-value str">'query'</span>).<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
452
+ 204: <span class="ruby-keyword kw">end</span>
453
+ 205: <span class="ruby-identifier">csv</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">shortVersion</span>(<span class="ruby-ivar">@text</span>)[<span class="ruby-value">0</span>]
454
+ 206: <span class="ruby-keyword kw">end</span>
455
+ 207: <span class="ruby-keyword kw">end</span>
420
456
  </pre>
421
457
  </div>
422
458
 
@@ -424,12 +460,12 @@ Add the text content of the cell to an Array of Arrays form of the table.
424
460
  </div>
425
461
 
426
462
 
427
- <div id="method-M000656" class="method-detail">
428
- <a name="M000656"></a>
463
+ <div id="method-M000341" class="method-detail">
464
+ <a name="M000341"></a>
429
465
 
430
466
  <div class="method-heading">
431
467
 
432
- <a href="#M000656" class="method-signature">
468
+ <a href="#M000341" class="method-signature">
433
469
 
434
470
  <span class="method-name">to_html</span><span class="method-args">()</span>
435
471
 
@@ -444,61 +480,117 @@ Turn the abstract cell representation into an HTML element tree.
444
480
  </p>
445
481
 
446
482
  <p><a class="source-toggle" href="#"
447
- onclick="toggleCode('M000656-source');return false;">[Source]</a></p>
448
- <div class="method-source-code" id="M000656-source">
483
+ onclick="toggleCode('M000341-source');return false;">[Source]</a></p>
484
+ <div class="method-source-code" id="M000341-source">
449
485
  <pre>
450
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 73</span>
451
- 73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
452
- 74: <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>
453
- 75: <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>
454
- 76:
455
- 77: <span class="ruby-comment cmt"># Determine cell attributes</span>
456
- 78: <span class="ruby-identifier">attribs</span> = { }
457
- 79: <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>
458
- 80: <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>
459
- 81: <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>
460
- 82: <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>)
461
- 83:
462
- 84: <span class="ruby-comment cmt"># Determine cell style</span>
463
- 85: <span class="ruby-identifier">alignSymbols</span> = [ <span class="ruby-identifier">:left</span>, <span class="ruby-identifier">:center</span>, <span class="ruby-identifier">:right</span> ]
464
- 86: <span class="ruby-identifier">aligns</span> = <span class="ruby-node">%w( left center right)</span>
465
- 87: <span class="ruby-identifier">style</span> = <span class="ruby-node">&quot;text-align:#{aligns[alignSymbols.index(@alignment)]}; &quot;</span>
466
- 88: <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-identifier">:center</span>
467
- 89: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:left</span>
468
- 90: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-left:#{@padding + @indent * 8}px; &quot;</span>
469
- 91: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-right:#{@padding}px; &quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@padding</span> <span class="ruby-operator">==</span> <span class="ruby-value">3</span>
470
- 92: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:right</span>
471
- 93: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-left:#{@padding}px; &quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@padding</span> <span class="ruby-operator">==</span> <span class="ruby-value">3</span>
472
- 94: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-right:#{@padding +
473
- 95: (@line.table.maxIndent - @indent) * 8}px; &quot;</span>
474
- 96: <span class="ruby-keyword kw">end</span>
475
- 97: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@padding</span> <span class="ruby-operator">!=</span> <span class="ruby-value">3</span>
476
- 98: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-left:#{@padding}px; padding-right:#{@padding}px; &quot;</span>
477
- 99: <span class="ruby-keyword kw">end</span>
478
- 100: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">RichText</span>)
479
- 101: <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>
480
- 102: <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>
481
- 103: <span class="ruby-keyword kw">end</span>
482
- 104: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fontColor</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
483
- 105: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;color:#{'#%06X' % @fontColor}; &quot;</span>
484
- 106: <span class="ruby-keyword kw">end</span>
485
- 107: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;width: #{@width}px; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@width</span>
486
- 108: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">RichText</span>) <span class="ruby-operator">&amp;&amp;</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>
487
- 109: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;height:#{@line.height - 3}px; &quot;</span>
488
- 110: <span class="ruby-keyword kw">end</span>
489
- 111: <span class="ruby-identifier">cell</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
490
- 112: <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">'celldiv'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'headercelldiv'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">style</span>))
491
- 113:
492
- 114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url</span>
493
- 115: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">a</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@url</span>))
494
- 116: <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@text</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">RichText</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">text</span>)
495
- 117: <span class="ruby-keyword kw">else</span>
496
- 118: <span class="ruby-identifier">div</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">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">RichText</span>) <span class="ruby-operator">?</span>
497
- 119: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@text</span>))
498
- 120: <span class="ruby-keyword kw">end</span>
499
- 121:
500
- 122: <span class="ruby-identifier">cell</span>
501
- 123: <span class="ruby-keyword kw">end</span>
486
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 84</span>
487
+ 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
488
+ 85: <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>
489
+ 86: <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>
490
+ 87:
491
+ 88: <span class="ruby-comment cmt"># Determine cell attributes</span>
492
+ 89: <span class="ruby-identifier">attribs</span> = { }
493
+ 90: <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>
494
+ 91: <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>
495
+ 92: <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>
496
+ 93: <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>
497
+ 94: <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>)
498
+ 95:
499
+ 96: <span class="ruby-comment cmt"># Determine cell style</span>
500
+ 97: <span class="ruby-identifier">alignSymbols</span> = [ <span class="ruby-identifier">:left</span>, <span class="ruby-identifier">:center</span>, <span class="ruby-identifier">:right</span> ]
501
+ 98: <span class="ruby-identifier">aligns</span> = <span class="ruby-node">%w( left center right)</span>
502
+ 99: <span class="ruby-identifier">style</span> = <span class="ruby-node">&quot;text-align:#{aligns[alignSymbols.index(@alignment)]}; &quot;</span>
503
+ 100: <span class="ruby-identifier">paddingLeft</span> = <span class="ruby-identifier">paddingRight</span> = <span class="ruby-value">0</span>
504
+ 101: <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-identifier">:center</span>
505
+ 102: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:left</span>
506
+ 103: <span class="ruby-identifier">paddingLeft</span> = <span class="ruby-ivar">@padding</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@indent</span> <span class="ruby-operator">*</span> <span class="ruby-value">8</span>
507
+ 104: <span class="ruby-identifier">paddingRight</span> = <span class="ruby-ivar">@padding</span>
508
+ 105: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@alignment</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:right</span>
509
+ 106: <span class="ruby-identifier">paddingLeft</span> = <span class="ruby-ivar">@padding</span>
510
+ 107: <span class="ruby-identifier">paddingRight</span> = <span class="ruby-ivar">@padding</span> <span class="ruby-operator">+</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-operator">*</span> <span class="ruby-value">8</span>
511
+ 108: <span class="ruby-keyword kw">end</span>
512
+ 109: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-left:#{paddingLeft}px; &quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">paddingLeft</span> <span class="ruby-operator">==</span> <span class="ruby-value">3</span>
513
+ 110: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-right:#{paddingRight}px; &quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">paddingRight</span> <span class="ruby-operator">==</span> <span class="ruby-value">3</span>
514
+ 111: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@padding</span> <span class="ruby-operator">!=</span> <span class="ruby-value">3</span>
515
+ 112: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;padding-left:#{@padding}px; padding-right:#{@padding}px; &quot;</span>
516
+ 113: <span class="ruby-identifier">paddingLeft</span> = <span class="ruby-identifier">paddingRight</span> = <span class="ruby-ivar">@padding</span>
517
+ 114: <span class="ruby-keyword kw">end</span>
518
+ 115: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;width:#{@width - paddingLeft - paddingRight}px; &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@width</span>
519
+ 116: <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>
520
+ 117:
521
+ 118: <span class="ruby-comment cmt"># If we have a RichText content and a width limit, we enable line</span>
522
+ 119: <span class="ruby-comment cmt"># wrapping.</span>
523
+ 120: <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>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@width</span>
524
+ 121: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;white-space:normal; &quot;</span>
525
+ 122: <span class="ruby-keyword kw">end</span>
526
+ 123:
527
+ 124: <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>
528
+ 125: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fontColor</span>
529
+ 126: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;color:#{@fontColor}; &quot;</span>
530
+ 127: <span class="ruby-keyword kw">end</span>
531
+ 128: <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>) <span class="ruby-operator">&amp;&amp;</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>
532
+ 129: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;height:#{@line.height - 3}px; &quot;</span>
533
+ 130: <span class="ruby-keyword kw">end</span>
534
+ 131: <span class="ruby-identifier">cell</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
535
+ 132: <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">'celldiv'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'headercelldiv'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">style</span>))
536
+ 133:
537
+ 134: <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>
538
+ 135: <span class="ruby-identifier">div</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>,
539
+ 136: <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'top'</span>,
540
+ 137: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-right:3px;'</span> <span class="ruby-operator">+</span>
541
+ 138: <span class="ruby-value str">'margin-bottom:2px'</span>)
542
+ 139: <span class="ruby-keyword kw">end</span>
543
+ 140:
544
+ 141: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">cell</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">nil?</span>
545
+ 142:
546
+ 143: <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>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">functionHandler</span>(<span class="ruby-value str">'query'</span>)
547
+ 144: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">functionHandler</span>(<span class="ruby-value str">'query'</span>).<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
548
+ 145: <span class="ruby-keyword kw">end</span>
549
+ 146:
550
+ 147: <span class="ruby-identifier">shortText</span>, <span class="ruby-identifier">singleLine</span> = <span class="ruby-identifier">shortVersion</span>(<span class="ruby-ivar">@text</span>)
551
+ 148: <span class="ruby-identifier">tooltip</span> = <span class="ruby-keyword kw">nil</span>
552
+ 149: <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">||</span>
553
+ 150: <span class="ruby-operator">!</span><span class="ruby-ivar">@category</span>
554
+ 151: <span class="ruby-comment cmt"># The cell is size-limited. We only put a shortened plain-text version</span>
555
+ 152: <span class="ruby-comment cmt"># in the cell and provide the full content via a tooltip.</span>
556
+ 153: <span class="ruby-identifier">div</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>)
557
+ 154: <span class="ruby-identifier">tooltip</span> = <span class="ruby-ivar">@text</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@text</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">shortText</span>
558
+ 155: <span class="ruby-keyword kw">else</span>
559
+ 156: <span class="ruby-comment cmt"># The cell will adjust to the size of the content.</span>
560
+ 157: <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>)
561
+ 158: <span class="ruby-comment cmt"># Don't put the @text into a &lt;div&gt; but a &lt;span&gt;.</span>
562
+ 159: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">blockMode</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-comment cmt">#if singleLine</span>
563
+ 160: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">to_html</span>
564
+ 161: <span class="ruby-keyword kw">else</span>
565
+ 162: <span class="ruby-identifier">div</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>)
566
+ 163: <span class="ruby-keyword kw">end</span>
567
+ 164: <span class="ruby-keyword kw">end</span>
568
+ 165:
569
+ 166: <span class="ruby-comment cmt"># Overwrite the tooltip if the user has specified a custom tooltip.</span>
570
+ 167: <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>
571
+ 168: <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>
572
+ 169: <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>) <span class="ruby-operator">&amp;&amp;</span>
573
+ 170: <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">functionHandler</span>(<span class="ruby-value str">'query'</span>)
574
+ 171: <span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">functionHandler</span>(<span class="ruby-value str">'query'</span>).<span class="ruby-identifier">setQuery</span>(<span class="ruby-ivar">@query</span>)
575
+ 172: <span class="ruby-keyword kw">end</span>
576
+ 173: <span class="ruby-identifier">div</span>[<span class="ruby-value str">'onmouseover'</span>] = <span class="ruby-node">&quot;TagToTip('#{cell.object_id}')&quot;</span>
577
+ 174: <span class="ruby-identifier">div</span>[<span class="ruby-value str">'onmouseout'</span>] = <span class="ruby-value str">'UnTip()'</span>
578
+ 175: <span class="ruby-identifier">div</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>,
579
+ 176: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'position:fixed; '</span> <span class="ruby-operator">+</span>
580
+ 177: <span class="ruby-value str">'visibility:hidden'</span>,
581
+ 178: <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{cell.object_id}&quot;</span>))
582
+ 179: <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>
583
+ 180: <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tooltip</span>))
584
+ 181:
585
+ 182: <span class="ruby-identifier">div</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>,
586
+ 183: <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'6px'</span>,
587
+ 184: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'vertical-align:top; '</span> <span class="ruby-operator">+</span>
588
+ 185: <span class="ruby-value str">'margin:2px; '</span> <span class="ruby-operator">+</span>
589
+ 186: <span class="ruby-value str">'top:5px'</span>)
590
+ 187: <span class="ruby-keyword kw">end</span>
591
+ 188:
592
+ 189: <span class="ruby-identifier">cell</span>
593
+ 190: <span class="ruby-keyword kw">end</span>
502
594
  </pre>
503
595
  </div>
504
596