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.
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/data/css/tjmanual.css +52 -0
- data/data/css/tjreport.css +195 -0
- data/data/icons/details.png +0 -0
- data/data/icons/flag-green.png +0 -0
- data/data/icons/flag-red.png +0 -0
- data/data/icons/flag-yellow.png +0 -0
- data/data/icons/resource.png +0 -0
- data/data/icons/resourcegroup.png +0 -0
- data/data/icons/task.png +0 -0
- data/data/icons/taskgroup.png +0 -0
- data/data/icons/trend-down.png +0 -0
- data/data/icons/trend-flat.png +0 -0
- data/data/icons/trend-up.png +0 -0
- data/data/scripts/wz_tooltip.js +1301 -0
- data/doc/classes/AppConfig.html +298 -230
- data/doc/classes/Arguments.html +8 -8
- data/doc/classes/Object.html +7 -7
- data/doc/classes/String.html +89 -89
- data/doc/classes/TaskJuggler.html +396 -264
- data/doc/classes/TaskJuggler/Account.html +18 -18
- data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
- data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
- data/doc/classes/TaskJuggler/Allocation.html +30 -30
- data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
- data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
- data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
- data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
- data/doc/classes/TaskJuggler/Booking.html +18 -18
- data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
- data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
- data/doc/classes/TaskJuggler/CSVFile.html +24 -24
- data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
- data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
- data/doc/classes/TaskJuggler/Charge.html +18 -18
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
- data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
- data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
- data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
- data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
- data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
- data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
- data/doc/classes/TaskJuggler/GanttChart.html +48 -48
- data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
- data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
- data/doc/classes/TaskJuggler/GanttLine.html +24 -24
- data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
- data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
- data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
- data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
- data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
- data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
- data/doc/classes/TaskJuggler/Interval.html +57 -57
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
- data/doc/classes/TaskJuggler/JobInfo.html +68 -12
- data/doc/classes/TaskJuggler/Journal.html +266 -20
- data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
- data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
- data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
- data/doc/classes/TaskJuggler/Limits.html +36 -36
- data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
- data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
- data/doc/classes/TaskJuggler/Log.html +145 -107
- data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
- data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
- data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
- data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
- data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
- data/doc/classes/TaskJuggler/Macro.html +6 -6
- data/doc/classes/TaskJuggler/MacroParser.html +36 -36
- data/doc/classes/TaskJuggler/MacroTable.html +37 -37
- data/doc/classes/TaskJuggler/Message.html +12 -12
- data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
- data/doc/classes/TaskJuggler/Navigator.html +110 -46
- data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
- data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
- data/doc/classes/TaskJuggler/Project.html +1158 -893
- data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
- data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
- data/doc/classes/TaskJuggler/PropertyList.html +225 -155
- data/doc/classes/TaskJuggler/PropertySet.html +375 -332
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
- data/doc/classes/TaskJuggler/Query.html +404 -139
- data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
- data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
- data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
- data/doc/classes/TaskJuggler/RealFormat.html +18 -18
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
- data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
- data/doc/classes/TaskJuggler/Report.html +66 -64
- data/doc/classes/TaskJuggler/ReportBase.html +112 -123
- data/doc/classes/TaskJuggler/ReportContext.html +43 -38
- data/doc/classes/TaskJuggler/ReportServer.html +320 -0
- data/doc/classes/TaskJuggler/ReportTable.html +42 -42
- data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
- data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
- data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
- data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
- data/doc/classes/TaskJuggler/Resource.html +12 -12
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
- data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
- data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
- data/doc/classes/TaskJuggler/RichText.html +64 -248
- data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
- data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
- data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
- data/doc/classes/TaskJuggler/RichTextException.html +13 -13
- data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
- data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
- data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
- data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
- data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
- data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
- data/doc/classes/TaskJuggler/Scenario.html +6 -6
- data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
- data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
- data/doc/classes/TaskJuggler/Shift.html +18 -18
- data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
- data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
- data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
- data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
- data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
- data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
- data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
- data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
- data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
- data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
- data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
- data/doc/classes/TaskJuggler/TableReport.html +447 -468
- data/doc/classes/TaskJuggler/Task.html +12 -12
- data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
- data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
- data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
- data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
- data/doc/classes/TaskJuggler/TextParser.html +215 -194
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
- data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
- data/doc/classes/TaskJuggler/TextReport.html +77 -74
- data/doc/classes/TaskJuggler/TextScanner.html +294 -281
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
- data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
- data/doc/classes/TaskJuggler/TjException.html +6 -6
- data/doc/classes/TaskJuggler/TjTime.html +522 -513
- data/doc/classes/TaskJuggler/TjpExample.html +25 -25
- data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
- data/doc/classes/TaskJuggler/UserManual.html +212 -213
- data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
- data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
- data/doc/classes/TaskJuggler/XMLComment.html +21 -21
- data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
- data/doc/classes/TaskJuggler/XMLElement.html +86 -50
- data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
- data/doc/classes/TaskJuggler/XMLText.html +36 -36
- data/doc/files/COPYING.html +1 -1
- data/doc/files/README.html +1 -1
- data/doc/files/lib/AccountScenario_rb.html +3 -2
- data/doc/files/lib/Account_rb.html +3 -2
- data/doc/files/lib/Allocation_rb.html +3 -2
- data/doc/files/lib/AppConfig_rb.html +5 -2
- data/doc/files/lib/AttributeBase_rb.html +3 -2
- data/doc/files/lib/AttributeDefinition_rb.html +3 -2
- data/doc/files/lib/Attributes_rb.html +3 -2
- data/doc/files/lib/BatchProcessor_rb.html +4 -3
- data/doc/files/lib/Booking_rb.html +3 -2
- data/doc/files/lib/ChargeSet_rb.html +3 -2
- data/doc/files/lib/Charge_rb.html +3 -2
- data/doc/files/lib/HTMLDocument_rb.html +3 -2
- data/doc/files/lib/Interval_rb.html +3 -2
- data/doc/files/lib/Journal_rb.html +4 -3
- data/doc/files/lib/KeywordArray_rb.html +3 -2
- data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
- data/doc/files/lib/Limits_rb.html +3 -2
- data/doc/files/lib/Log_rb.html +3 -2
- data/doc/files/lib/LogicalExpression_rb.html +3 -2
- data/doc/files/lib/LogicalFunction_rb.html +3 -2
- data/doc/files/lib/LogicalOperation_rb.html +3 -2
- data/doc/files/lib/MacroParser_rb.html +3 -2
- data/doc/files/lib/MacroTable_rb.html +3 -2
- data/doc/files/lib/MessageHandler_rb.html +3 -2
- data/doc/files/lib/Message_rb.html +3 -2
- data/doc/files/lib/ProjectFileParser_rb.html +7 -4
- data/doc/files/lib/Project_rb.html +3 -2
- data/doc/files/lib/PropertyList_rb.html +3 -2
- data/doc/files/lib/PropertySet_rb.html +3 -2
- data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
- data/doc/files/lib/Query_rb.html +3 -2
- data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
- data/doc/files/lib/RTFQuery_rb.html +121 -0
- data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
- data/doc/files/lib/RealFormat_rb.html +3 -2
- data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
- data/doc/files/lib/ReportServer_rb.html +107 -0
- data/doc/files/lib/ResourceScenario_rb.html +3 -2
- data/doc/files/lib/Resource_rb.html +3 -2
- data/doc/files/lib/RichTextDocument_rb.html +4 -3
- data/doc/files/lib/RichTextElement_rb.html +3 -2
- data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
- data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
- data/doc/files/lib/RichTextParser_rb.html +3 -2
- data/doc/files/lib/RichTextScanner_rb.html +3 -2
- data/doc/files/lib/RichTextSnip_rb.html +3 -2
- data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
- data/doc/files/lib/RichText_rb.html +3 -2
- data/doc/files/lib/ScenarioData_rb.html +3 -2
- data/doc/files/lib/Scenario_rb.html +3 -2
- data/doc/files/lib/Scoreboard_rb.html +3 -2
- data/doc/files/lib/ShiftAssignments_rb.html +3 -2
- data/doc/files/lib/ShiftScenario_rb.html +3 -2
- data/doc/files/lib/Shift_rb.html +3 -2
- data/doc/files/lib/SourceFileInfo_rb.html +3 -2
- data/doc/files/lib/SyntaxReference_rb.html +3 -2
- data/doc/files/lib/TOCEntry_rb.html +3 -2
- data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
- data/doc/files/lib/TableOfContents_rb.html +3 -2
- data/doc/files/lib/TaskDependency_rb.html +3 -2
- data/doc/files/lib/TaskJuggler_rb.html +7 -2
- data/doc/files/lib/TaskScenario_rb.html +3 -2
- data/doc/files/lib/Task_rb.html +3 -2
- data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
- data/doc/files/lib/TextParser/Rule_rb.html +4 -3
- data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
- data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
- data/doc/files/lib/TextParser_rb.html +3 -2
- data/doc/files/lib/TextScanner_rb.html +3 -2
- data/doc/files/lib/Tj3Config_rb.html +3 -2
- data/doc/files/lib/TjException_rb.html +3 -2
- data/doc/files/lib/TjTime_rb.html +3 -2
- data/doc/files/lib/TjpExample_rb.html +3 -2
- data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
- data/doc/files/lib/UTF8String_rb.html +14 -6
- data/doc/files/lib/UserManual_rb.html +6 -3
- data/doc/files/lib/WorkingHours_rb.html +3 -2
- data/doc/files/lib/XMLDocument_rb.html +3 -2
- data/doc/files/lib/XMLElement_rb.html +3 -2
- data/doc/files/lib/deep_copy_rb.html +3 -2
- data/doc/files/lib/reports/CSVFile_rb.html +3 -2
- data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
- data/doc/files/lib/reports/GanttChart_rb.html +3 -2
- data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
- data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
- data/doc/files/lib/reports/GanttLine_rb.html +3 -2
- data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
- data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
- data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
- data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
- data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
- data/doc/files/lib/reports/Navigator_rb.html +3 -2
- data/doc/files/lib/reports/ReportBase_rb.html +3 -2
- data/doc/files/lib/reports/ReportContext_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
- data/doc/files/lib/reports/ReportTable_rb.html +3 -2
- data/doc/files/lib/reports/Report_rb.html +7 -2
- data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
- data/doc/files/lib/reports/TableReport_rb.html +3 -2
- data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
- data/doc/files/lib/reports/TextReport_rb.html +4 -3
- data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
- data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
- data/doc/files/lib/taskjuggler3_rb.html +94 -77
- data/doc/files/lib/tj3client_rb.html +280 -0
- data/doc/files/lib/tj3man_rb.html +10 -9
- data/doc/fr_class_index.html +27 -5
- data/doc/fr_file_index.html +15 -7
- data/doc/fr_method_index.html +1312 -1020
- data/examples/tutorial.tjp +113 -14
- data/gem_spec.rb +2 -1
- data/lib/Account.rb +1 -1
- data/lib/AccountScenario.rb +1 -1
- data/lib/Allocation.rb +1 -1
- data/lib/AppConfig.rb +23 -10
- data/lib/AttributeBase.rb +34 -6
- data/lib/AttributeDefinition.rb +1 -1
- data/lib/Attributes.rb +51 -16
- data/lib/BatchProcessor.rb +204 -77
- data/lib/Booking.rb +1 -1
- data/lib/Charge.rb +1 -1
- data/lib/ChargeSet.rb +1 -1
- data/lib/HTMLDocument.rb +2 -2
- data/lib/Interval.rb +1 -1
- data/lib/Journal.rb +231 -9
- data/lib/KeywordArray.rb +1 -1
- data/lib/KeywordDocumentation.rb +6 -4
- data/lib/Limits.rb +1 -1
- data/lib/Log.rb +8 -1
- data/lib/LogicalExpression.rb +14 -13
- data/lib/LogicalFunction.rb +88 -14
- data/lib/LogicalOperation.rb +124 -53
- data/lib/MacroParser.rb +1 -1
- data/lib/MacroTable.rb +2 -2
- data/lib/Message.rb +1 -1
- data/lib/MessageHandler.rb +7 -3
- data/lib/Project.rb +93 -14
- data/lib/ProjectFileParser.rb +30 -15
- data/lib/PropertyList.rb +103 -36
- data/lib/PropertySet.rb +22 -10
- data/lib/PropertyTreeNode.rb +120 -15
- data/lib/Query.rb +119 -48
- data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
- data/lib/RTFQuery.rb +166 -0
- data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
- data/lib/RealFormat.rb +1 -1
- data/lib/RemoteServiceManager.rb +80 -0
- data/lib/ReportServer.rb +66 -0
- data/lib/Resource.rb +1 -1
- data/lib/ResourceScenario.rb +48 -19
- data/lib/RichText.rb +98 -41
- data/lib/RichTextDocument.rb +10 -8
- data/lib/RichTextElement.rb +72 -28
- data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
- data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
- data/lib/RichTextParser.rb +6 -3
- data/lib/RichTextScanner.rb +91 -19
- data/lib/RichTextSnip.rb +8 -3
- data/lib/RichTextSyntaxRules.rb +103 -45
- data/lib/Scenario.rb +1 -1
- data/lib/ScenarioData.rb +2 -2
- data/lib/Scoreboard.rb +1 -1
- data/lib/Shift.rb +1 -1
- data/lib/ShiftAssignments.rb +1 -1
- data/lib/ShiftScenario.rb +1 -1
- data/lib/SourceFileInfo.rb +1 -1
- data/lib/SyntaxReference.rb +2 -2
- data/lib/TOCEntry.rb +1 -1
- data/lib/TableColumnDefinition.rb +59 -16
- data/lib/TableOfContents.rb +1 -1
- data/lib/Task.rb +1 -1
- data/lib/TaskDependency.rb +1 -1
- data/lib/TaskJuggler.rb +31 -8
- data/lib/TaskScenario.rb +165 -16
- data/lib/TextParser.rb +36 -22
- data/lib/TextParser/Pattern.rb +3 -3
- data/lib/TextParser/Rule.rb +2 -2
- data/lib/TextParser/StackElement.rb +4 -3
- data/lib/TextParser/TokenDoc.rb +2 -2
- data/lib/TextScanner.rb +52 -37
- data/lib/Tj3Config.rb +6 -5
- data/lib/TjException.rb +1 -1
- data/lib/TjTime.rb +12 -3
- data/lib/TjpExample.rb +1 -1
- data/lib/TjpSyntaxRules.rb +1044 -150
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +18 -70
- data/lib/WorkingHours.rb +3 -3
- data/lib/XMLDocument.rb +3 -2
- data/lib/XMLElement.rb +6 -1
- data/lib/deep_copy.rb +1 -1
- data/lib/reports/CSVFile.rb +1 -1
- data/lib/reports/ColumnTable.rb +9 -9
- data/lib/reports/GanttChart.rb +1 -1
- data/lib/reports/GanttContainer.rb +1 -1
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttHeaderScaleItem.rb +1 -1
- data/lib/reports/GanttLine.rb +40 -40
- data/lib/reports/GanttLoadStack.rb +1 -1
- data/lib/reports/GanttMilestone.rb +1 -1
- data/lib/reports/GanttRouter.rb +1 -1
- data/lib/reports/GanttTaskBar.rb +1 -1
- data/lib/reports/HTMLGraphics.rb +1 -1
- data/lib/reports/Navigator.rb +149 -22
- data/lib/reports/Report.rb +115 -172
- data/lib/reports/ReportBase.rb +22 -27
- data/lib/reports/ReportContext.rb +29 -15
- data/lib/reports/ReportTable.rb +1 -1
- data/lib/reports/ReportTableCell.rb +120 -27
- data/lib/reports/ReportTableColumn.rb +3 -3
- data/lib/reports/ReportTableLegend.rb +1 -1
- data/lib/reports/ReportTableLine.rb +10 -2
- data/lib/reports/ResourceListRE.rb +5 -1
- data/lib/reports/TableReport.rb +237 -287
- data/lib/reports/TaskListRE.rb +5 -1
- data/lib/reports/TextReport.rb +7 -4
- data/lib/reports/TimeSheetReport.rb +233 -0
- data/lib/reports/TjpExportRE.rb +2 -2
- data/lib/taskjuggler3.rb +27 -11
- data/lib/tj3client.rb +110 -0
- data/lib/tj3man.rb +4 -4
- data/manual/Getting_Started +0 -50
- data/manual/How_To_Contribute +6 -13
- data/manual/Installation +102 -28
- data/manual/Intro +11 -1
- data/manual/Reporting_Bugs +23 -7
- data/manual/Rich_Text_Attributes +59 -6
- data/manual/TaskJuggler_2x_Migration +27 -0
- data/manual/The_TaskJuggler_Syntax +104 -0
- data/manual/Tutorial +10 -9
- data/prj_cfg.rb +8 -2
- data/tasks/csts.rake +1 -1
- data/tasks/manual.rake +5 -3
- data/test/MessageChecker.rb +1 -1
- data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
- data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
- data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
- data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
- data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
- data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
- data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
- data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
- data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
- data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
- data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
- data/test/all.rb +2 -2
- data/test/test_BatchProcessor.rb +42 -13
- data/test/test_CSV-Reports.rb +1 -1
- data/test/test_Journal.rb +176 -0
- data/test/test_Limits.rb +1 -1
- data/test/test_LogicalExpression.rb +14 -5
- data/test/test_MacroTable.rb +1 -1
- data/test/test_Project.rb +1 -1
- data/test/test_PropertySet.rb +1 -1
- data/test/test_Query.rb +1 -1
- data/test/test_RealFormat.rb +1 -1
- data/test/test_RichText.rb +30 -20
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +2 -2
- data/test/test_Syntax.rb +1 -1
- data/test/test_TextScanner.rb +1 -1
- data/test/test_TjTime.rb +1 -1
- data/test/test_TjpExample.rb +1 -1
- data/test/test_UTF8String.rb +1 -1
- data/test/test_WorkingHours.rb +1 -1
- data/test/test_deep_copy.rb +2 -2
- metadata +610 -532
- data/doc/files/lib/ms_test_rb.html +0 -90
- data/examples/ContactList.html +0 -1467
- data/examples/Deliveries.html +0 -485
- data/examples/Development.html +0 -2525
- data/examples/Overview.html +0 -747
- data/examples/Resource Graph.html +0 -616
- data/lib/ms_test.rb +0 -27
- 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="#
|
|
111
|
+
<a href="#M000340">==</a>
|
|
112
112
|
|
|
113
|
-
<a href="#
|
|
113
|
+
<a href="#M000339">new</a>
|
|
114
114
|
|
|
115
|
-
<a href="#
|
|
115
|
+
<a href="#M000342">to_csv</a>
|
|
116
116
|
|
|
117
|
-
<a href="#
|
|
117
|
+
<a href="#M000341">to_html</a>
|
|
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"> [RW] </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"> [RW] </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"> [RW] </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">
|
|
273
|
+
<td class="context-item-name">tooltip</td>
|
|
250
274
|
|
|
251
275
|
<td class="context-item-value"> [RW] </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-
|
|
277
|
-
<a name="
|
|
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="#
|
|
305
|
+
<a href="#M000339" class="method-signature">
|
|
282
306
|
|
|
283
|
-
<span class="method-name">new</span><span class="method-args">(line, text =
|
|
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('
|
|
302
|
-
<div class="method-source-code" id="
|
|
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
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
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-
|
|
345
|
-
<a name="
|
|
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="#
|
|
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('
|
|
367
|
-
<div class="method-source-code" id="
|
|
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
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
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">&&</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">&&</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">&&</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">&&</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">&&</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-
|
|
385
|
-
<a name="
|
|
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="#
|
|
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('
|
|
405
|
-
<div class="method-source-code" id="
|
|
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
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
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">&&</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"><<</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">&&</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"><<</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"><<</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-
|
|
428
|
-
<a name="
|
|
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="#
|
|
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('
|
|
448
|
-
<div class="method-source-code" id="
|
|
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
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
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">"#{@rows}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rows</span> <span class="ruby-operator">></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">"#{@columns}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@columns</span> <span class="ruby-operator">></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">"background-color: #{@cellColor}; "</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">"text-align:#{aligns[alignSymbols.index(@alignment)]}; "</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">&&</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">"padding-left:#{paddingLeft}px; "</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">"padding-right:#{paddingRight}px; "</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">"padding-left:#{@padding}px; padding-right:#{@padding}px; "</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">"width:#{@width - paddingLeft - paddingRight}px; "</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">&&</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">"white-space:normal; "</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">"font-size: #{@fontSize}px; "</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">"color:#{@fontColor}; "</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">&&</span> <span class="ruby-ivar">@line</span> <span class="ruby-operator">&&</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">"height:#{@line.height - 3}px; "</span>
|
|
533
|
+
130: <span class="ruby-keyword kw">end</span>
|
|
534
|
+
131: <span class="ruby-identifier">cell</span> <span class="ruby-operator"><<</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">></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">></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">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@selfcontained</span>
|
|
538
|
+
135: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-node">"icons/#{@icon}.png"</span>,
|
|
539
|
+
136: <span class="ruby-value str">'align'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'top'</span>,
|
|
540
|
+
137: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></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">&&</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">&&</span> <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">table</span>.<span class="ruby-identifier">equiLines</span> <span class="ruby-operator">&&</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"><<</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 <div> but a <span>.</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"><<</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"><<</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">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tooltip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&&</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">&&</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">"TagToTip('#{cell.object_id}')"</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"><<</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">></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">></span> <span class="ruby-node">"#{cell.object_id}"</span>))
|
|
582
|
+
179: <span class="ruby-identifier">ltDiv</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'icons/details.png'</span>,
|
|
586
|
+
183: <span class="ruby-value str">'width'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'6px'</span>,
|
|
587
|
+
184: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></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
|
|