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
data/examples/tutorial.tjp
CHANGED
|
@@ -62,6 +62,11 @@ account rev "Payments"
|
|
|
62
62
|
# The Profit&Loss analysis should be rev - cost accounts.
|
|
63
63
|
balance cost rev
|
|
64
64
|
|
|
65
|
+
resource boss "Paul Henry Bullock" {
|
|
66
|
+
Email "phb@crappysoftware.com"
|
|
67
|
+
Phone "x100"
|
|
68
|
+
rate 480
|
|
69
|
+
}
|
|
65
70
|
resource dev "Developers" {
|
|
66
71
|
resource dev1 "Paul Smith" {
|
|
67
72
|
Email "paul@crappysoftware.com"
|
|
@@ -142,6 +147,18 @@ task AcSo "Accounting Software" {
|
|
|
142
147
|
task database "Database coupling" {
|
|
143
148
|
effort 20d
|
|
144
149
|
allocate dev1, dev2
|
|
150
|
+
journalentry 2002-02-03 "Problems with the SQL Libary" {
|
|
151
|
+
author dev1
|
|
152
|
+
alert yellow
|
|
153
|
+
summary -8<-
|
|
154
|
+
We ran into some compatibility problems with the SQL
|
|
155
|
+
Library.
|
|
156
|
+
->8-
|
|
157
|
+
details -8<-
|
|
158
|
+
We have already contacted the vendor and are now waiting for
|
|
159
|
+
their advise.
|
|
160
|
+
->8-
|
|
161
|
+
}
|
|
145
162
|
}
|
|
146
163
|
|
|
147
164
|
task gui "Graphical User Interface" {
|
|
@@ -181,6 +198,17 @@ task AcSo "Accounting Software" {
|
|
|
181
198
|
depends !!software
|
|
182
199
|
allocate test, dev2
|
|
183
200
|
note "Hopefully most bugs will be found and fixed here."
|
|
201
|
+
journalentry 2002-03-01 "Contract with Peter not yet signed" {
|
|
202
|
+
author boss
|
|
203
|
+
alert red
|
|
204
|
+
summary -8<-
|
|
205
|
+
The paperwork is stuck with HR and I can't hunt it down.
|
|
206
|
+
->8-
|
|
207
|
+
details -8<-
|
|
208
|
+
If we don't get the contract closed within the next week,
|
|
209
|
+
the start of the testing is at risk.
|
|
210
|
+
->8-
|
|
211
|
+
}
|
|
184
212
|
}
|
|
185
213
|
|
|
186
214
|
task beta "Beta Test" {
|
|
@@ -196,6 +224,10 @@ task AcSo "Accounting Software" {
|
|
|
196
224
|
allocate doc, dev3
|
|
197
225
|
purge chargeset
|
|
198
226
|
chargeset doc
|
|
227
|
+
journalentry 2002-02-28 "User manual completed" {
|
|
228
|
+
author boss
|
|
229
|
+
summary "The doc writers did a really great job to finish on time."
|
|
230
|
+
}
|
|
199
231
|
}
|
|
200
232
|
|
|
201
233
|
task deliveries "Milestones" {
|
|
@@ -254,28 +286,50 @@ navigator navbar {
|
|
|
254
286
|
hidereport 0
|
|
255
287
|
}
|
|
256
288
|
|
|
257
|
-
textreport "
|
|
258
|
-
formats html
|
|
289
|
+
textreport "" {
|
|
259
290
|
header -8<-
|
|
260
291
|
== Accounting Software Project ==
|
|
261
292
|
----
|
|
262
293
|
<[navigator id="navbar"]>
|
|
263
294
|
----
|
|
264
295
|
->8-
|
|
265
|
-
|
|
296
|
+
footer "----"
|
|
297
|
+
textreport "Overview" {
|
|
298
|
+
formats html
|
|
299
|
+
center '<[report id="overview"]>'
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
textreport "Status" {
|
|
303
|
+
formats html
|
|
304
|
+
center -8<-
|
|
305
|
+
<[report id="status.dashboard"]>
|
|
306
|
+
----
|
|
307
|
+
<[report id="status.completed"]>
|
|
308
|
+
----
|
|
309
|
+
<[report id="status.ongoing"]>
|
|
310
|
+
----
|
|
311
|
+
<[report id="status.future"]>
|
|
312
|
+
->8-
|
|
313
|
+
}
|
|
266
314
|
|
|
267
315
|
textreport "Development" {
|
|
316
|
+
formats html
|
|
268
317
|
center '<[report id="development"]>'
|
|
269
318
|
}
|
|
270
319
|
|
|
271
320
|
textreport "Deliveries" {
|
|
321
|
+
formats html
|
|
272
322
|
center '<[report id="deliveries"]>'
|
|
273
323
|
}
|
|
274
324
|
|
|
275
325
|
textreport "ContactList" {
|
|
326
|
+
formats html
|
|
327
|
+
title "Contact List"
|
|
276
328
|
center '<[report id="contactList"]>'
|
|
277
329
|
}
|
|
278
|
-
textreport "
|
|
330
|
+
textreport "ResourceGraph" {
|
|
331
|
+
formats html
|
|
332
|
+
title "Resource Graph"
|
|
279
333
|
center '<[report id="resourceGraph"]>'
|
|
280
334
|
}
|
|
281
335
|
}
|
|
@@ -291,9 +345,11 @@ taskreport overview "" {
|
|
|
291
345
|
# [[Development]]
|
|
292
346
|
# Testing
|
|
293
347
|
|
|
294
|
-
=== Project Plan ===
|
|
348
|
+
=== Original Project Plan ===
|
|
295
349
|
->8-
|
|
296
|
-
columns hierarchindex,
|
|
350
|
+
columns hierarchindex,
|
|
351
|
+
name { tooltip 1 "'''ID''': <-query attribute='id'->" },
|
|
352
|
+
start, end, effort, duration, cost,
|
|
297
353
|
revenue, chart
|
|
298
354
|
# For this report we like to have the abbreviated weekday in front
|
|
299
355
|
# of the date. %a is the tag for this.
|
|
@@ -317,29 +373,69 @@ taskreport overview "" {
|
|
|
317
373
|
->8-
|
|
318
374
|
}
|
|
319
375
|
|
|
376
|
+
# Macro to set the background color of a cell according to the alert
|
|
377
|
+
# level of the task.
|
|
378
|
+
macro AlertColor [
|
|
379
|
+
cellcolor plan.alert = 0 "#00D000" # green
|
|
380
|
+
cellcolor plan.alert = 1 "#D0D000" # yellow
|
|
381
|
+
cellcolor plan.alert = 2 "#D00000" # red
|
|
382
|
+
]
|
|
383
|
+
|
|
384
|
+
taskreport status "" {
|
|
385
|
+
columns wbs, name, start, end, effort, alert, status
|
|
386
|
+
scenarios delayed
|
|
387
|
+
|
|
388
|
+
taskreport dashboard "" {
|
|
389
|
+
headline "Project Dashboard (<-query attribute='now'->)"
|
|
390
|
+
columns name { title "Task" ${AlertColor} },
|
|
391
|
+
resources { width 200 ${AlertColor}
|
|
392
|
+
start ${projectstart} end ${projectend} },
|
|
393
|
+
alerttrend { title "Trend" ${AlertColor} },
|
|
394
|
+
alertmessage { width 260 ${AlertColor} }
|
|
395
|
+
hidetask ~hasalert(0)
|
|
396
|
+
sorttasks alert.down, delayed.end.up
|
|
397
|
+
period %{${now} - 1w} +1w
|
|
398
|
+
}
|
|
399
|
+
taskreport completed "" {
|
|
400
|
+
headline "Already completed tasks"
|
|
401
|
+
hidetask ~(delayed.end <= ${now})
|
|
402
|
+
}
|
|
403
|
+
taskreport ongoing "" {
|
|
404
|
+
headline "Ongoing tasks"
|
|
405
|
+
hidetask ~((delayed.start <= ${now}) & (delayed.end > ${now}))
|
|
406
|
+
}
|
|
407
|
+
taskreport future "" {
|
|
408
|
+
headline "Future tasks"
|
|
409
|
+
hidetask ~(delayed.start > ${now})
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
320
413
|
# A list of tasks showing the resources assigned to each task.
|
|
321
414
|
taskreport development "" {
|
|
415
|
+
scenarios delayed
|
|
322
416
|
headline "Development - Resource Allocation Report"
|
|
323
417
|
columns hierarchindex, name, start, end, effort { title "Work" },
|
|
324
|
-
duration, chart { scale day }
|
|
418
|
+
duration, chart { scale day width 500 }
|
|
325
419
|
timeformat "%Y-%m-%d"
|
|
326
|
-
hideresource ~isleaf()
|
|
420
|
+
hideresource ~(isleaf() & isleaf_())
|
|
327
421
|
sortresources name.up
|
|
328
422
|
}
|
|
329
423
|
|
|
330
424
|
# A list of all tasks with the percentage completed for each task
|
|
331
425
|
taskreport deliveries "" {
|
|
332
|
-
headline "Project
|
|
333
|
-
columns hierarchindex, name, start, end, note, complete, chart
|
|
426
|
+
headline "Project Deliverables"
|
|
427
|
+
columns hierarchindex, name, start, end, note { width 150 }, complete, chart
|
|
334
428
|
taskroot AcSo.deliveries
|
|
335
|
-
loadunit days
|
|
336
429
|
hideresource 1
|
|
337
430
|
scenarios plan, delayed
|
|
338
431
|
}
|
|
339
432
|
# A list of all employees with their contact details.
|
|
340
433
|
resourcereport contactList "" {
|
|
434
|
+
scenarios delayed
|
|
341
435
|
headline "Contact list and duty plan"
|
|
342
|
-
columns name,
|
|
436
|
+
columns name,
|
|
437
|
+
Email { celltext 1 "[mailto:<-Email-> <-Email->]" },
|
|
438
|
+
Phone,
|
|
343
439
|
chart { scale day }
|
|
344
440
|
hideresource ~isleaf()
|
|
345
441
|
sortresources name.up
|
|
@@ -349,9 +445,12 @@ resourcereport contactList "" {
|
|
|
349
445
|
# A graph showing resource allocation. It identifies whether each
|
|
350
446
|
# resource is under- or over-allocated for.
|
|
351
447
|
resourcereport resourceGraph "" {
|
|
448
|
+
scenarios delayed
|
|
352
449
|
headline "Resource Allocation Graph"
|
|
353
|
-
columns no, name, effort, rate, weekly
|
|
450
|
+
columns no, name, effort, rate, weekly
|
|
354
451
|
loadunit shortauto
|
|
355
|
-
|
|
452
|
+
# We only like to show leaf tasks for leaf resources.
|
|
453
|
+
hidetask ~(isleaf() & isleaf_())
|
|
356
454
|
sorttasks plan.start.up
|
|
357
455
|
}
|
|
456
|
+
|
data/gem_spec.rb
CHANGED
|
@@ -3,6 +3,7 @@ GEM_SPEC = Gem::Specification.new { |s|
|
|
|
3
3
|
s.name = UNIX_NAME
|
|
4
4
|
s.version = PROJECT_VERSION
|
|
5
5
|
s.summary = PROJECT_SUMMARY
|
|
6
|
+
s.description = DESCRIPTION
|
|
6
7
|
s.rubyforge_project = UNIX_NAME
|
|
7
8
|
s.homepage = PROJECT_HOMEPAGE
|
|
8
9
|
s.author = USER_NAME
|
|
@@ -25,6 +26,6 @@ GEM_SPEC = Gem::Specification.new { |s|
|
|
|
25
26
|
s.cert_chain = [CERT_PUBLIC]
|
|
26
27
|
end
|
|
27
28
|
s.platform = Gem::Platform::RUBY
|
|
28
|
-
s.required_ruby_version = '>= 1.8.
|
|
29
|
+
s.required_ruby_version = '>= 1.8.6'
|
|
29
30
|
}
|
|
30
31
|
|
data/lib/Account.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Account.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
data/lib/AccountScenario.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = AccountScenario.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
data/lib/Allocation.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Allocation.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
data/lib/AppConfig.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = AppConfig.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
#
|
|
12
12
|
|
|
13
13
|
require 'rbconfig'
|
|
14
|
+
require 'rbconfig/datadir'
|
|
14
15
|
|
|
15
16
|
# This class provides central management of configuration data to an
|
|
16
17
|
# application. It stores the version number, the name of the application and
|
|
@@ -23,6 +24,7 @@ class AppConfig
|
|
|
23
24
|
def initialize
|
|
24
25
|
@@version = '0.0.0'
|
|
25
26
|
@@packageName = 'unnamed'
|
|
27
|
+
@@softwareName = 'unnamed'
|
|
26
28
|
@@packageInfo = 'no info'
|
|
27
29
|
@@appName = 'unnamed'
|
|
28
30
|
@@authors = []
|
|
@@ -47,6 +49,14 @@ class AppConfig
|
|
|
47
49
|
@@packageName
|
|
48
50
|
end
|
|
49
51
|
|
|
52
|
+
def AppConfig.softwareName=(name)
|
|
53
|
+
@@softwareName = name
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def AppConfig.softwareName
|
|
57
|
+
@@softwareName
|
|
58
|
+
end
|
|
59
|
+
|
|
50
60
|
def AppConfig.packageInfo=(info)
|
|
51
61
|
@@packageInfo = info
|
|
52
62
|
end
|
|
@@ -96,21 +106,24 @@ class AppConfig
|
|
|
96
106
|
end
|
|
97
107
|
|
|
98
108
|
def AppConfig.dataDirs(baseDir = 'data')
|
|
99
|
-
|
|
100
|
-
|
|
109
|
+
rubyLibDir = RbConfig::CONFIG['rubylibdir']
|
|
110
|
+
rubyBaseDir, versionDir = rubyLibDir.scan(/(.*\/)(.*)/)[0]
|
|
111
|
+
|
|
101
112
|
dirs = []
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
# Or from the lib directory.
|
|
106
|
-
dirs << "../#{baseDir}/"
|
|
113
|
+
if ENV['TASKJUGGLER_DATA_PATH']
|
|
114
|
+
dirs << ENV['TASKJUGGLER_DATA_PATH'] + "/#{baseDir}/"
|
|
115
|
+
end
|
|
107
116
|
# This hopefully works for all setups. Otherwise we have to add more
|
|
108
117
|
# alternative pathes.
|
|
109
|
-
|
|
118
|
+
# This one is for RPM based distros like Novell
|
|
119
|
+
dirs << rubyBaseDir + "gems/" + versionDir + '/gems/' \
|
|
120
|
+
+ @@packageName + '-' + @@version + "/#{baseDir}/"
|
|
121
|
+
# This one is for Debian based distros
|
|
122
|
+
dirs << rubyLibDir + '/gems/' \
|
|
110
123
|
+ @@packageName + '-' + @@version + "/#{baseDir}/"
|
|
111
124
|
# Remove non-existing directories from the list again
|
|
112
125
|
dirs.delete_if do |dir|
|
|
113
|
-
!File.exists?(dir)
|
|
126
|
+
!File.exists?(dir.untaint)
|
|
114
127
|
end
|
|
115
128
|
dirs
|
|
116
129
|
end
|
data/lib/AttributeBase.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = AttributeBase.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -37,12 +37,17 @@ class TaskJuggler
|
|
|
37
37
|
# Flag that marks whether the value of this attribute was inherited from
|
|
38
38
|
# the parent PropertyTreeNode.
|
|
39
39
|
@inherited = false
|
|
40
|
-
#
|
|
40
|
+
# Flag that marks whether the value of this attribute was provided by the
|
|
41
41
|
# user (in contrast to being calculated).
|
|
42
42
|
@provided = false
|
|
43
|
-
#
|
|
44
|
-
# type.
|
|
45
|
-
|
|
43
|
+
# If type is an AttributeDefinition, create the initial value according
|
|
44
|
+
# to the specified default for this type. Otherwise type is the initial
|
|
45
|
+
# value.
|
|
46
|
+
if @type.is_a?(AttributeDefinition)
|
|
47
|
+
@value = @type.default.deep_clone
|
|
48
|
+
else
|
|
49
|
+
@value = @type
|
|
50
|
+
end
|
|
46
51
|
# The mode is flag that controls how value assignments affect the flags.
|
|
47
52
|
@@mode = 0
|
|
48
53
|
end
|
|
@@ -98,10 +103,33 @@ class TaskJuggler
|
|
|
98
103
|
end
|
|
99
104
|
|
|
100
105
|
# Return the value as String.
|
|
101
|
-
def to_s
|
|
106
|
+
def to_s(query = nil)
|
|
102
107
|
@value.to_s
|
|
103
108
|
end
|
|
104
109
|
|
|
110
|
+
def to_num
|
|
111
|
+
if @value.is_a?(Fixnum) || @value.is_a?(Bignum) || @value.is_a?(Float)
|
|
112
|
+
@value
|
|
113
|
+
else
|
|
114
|
+
nil
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def to_sort
|
|
119
|
+
if @value.is_a?(Fixnum) || @value.is_a?(Bignum) ||
|
|
120
|
+
@value.is_a?(Float)
|
|
121
|
+
@value
|
|
122
|
+
elsif @value.respond_to?('to_s')
|
|
123
|
+
@value.to_s
|
|
124
|
+
else
|
|
125
|
+
nil
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def to_rti(query)
|
|
130
|
+
@value.is_a?(RichTextIntermediate) ? !value : nil
|
|
131
|
+
end
|
|
132
|
+
|
|
105
133
|
# Return the value in TJP file syntax.
|
|
106
134
|
def to_tjp
|
|
107
135
|
@type.id + " " + @value.to_s
|
data/lib/AttributeDefinition.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = AttributeDefinition.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
data/lib/Attributes.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Attributes.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009 by Chris Schlaeger <cs@kde.org>
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger <cs@kde.org>
|
|
7
7
|
#
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -30,7 +30,7 @@ class TaskJuggler
|
|
|
30
30
|
'account'
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
def to_s
|
|
33
|
+
def to_s(query = nil)
|
|
34
34
|
@value ? @value.id : ''
|
|
35
35
|
end
|
|
36
36
|
|
|
@@ -60,7 +60,7 @@ class TaskJuggler
|
|
|
60
60
|
out
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
def to_s
|
|
63
|
+
def to_s(query = nil)
|
|
64
64
|
out = ''
|
|
65
65
|
first = true
|
|
66
66
|
@value.each do |allocation|
|
|
@@ -100,7 +100,7 @@ class TaskJuggler
|
|
|
100
100
|
'bookinglist'
|
|
101
101
|
end
|
|
102
102
|
|
|
103
|
-
def to_s
|
|
103
|
+
def to_s(query = nil)
|
|
104
104
|
@value.collect{ |x| x.to_s }.join(', ')
|
|
105
105
|
end
|
|
106
106
|
|
|
@@ -119,7 +119,7 @@ class TaskJuggler
|
|
|
119
119
|
'boolean'
|
|
120
120
|
end
|
|
121
121
|
|
|
122
|
-
def to_s
|
|
122
|
+
def to_s(query = nil)
|
|
123
123
|
@value ? 'true' : 'false'
|
|
124
124
|
end
|
|
125
125
|
|
|
@@ -138,7 +138,7 @@ class TaskJuggler
|
|
|
138
138
|
'charge'
|
|
139
139
|
end
|
|
140
140
|
|
|
141
|
-
def to_s
|
|
141
|
+
def to_s(query = nil)
|
|
142
142
|
@value.join(', ')
|
|
143
143
|
end
|
|
144
144
|
|
|
@@ -158,7 +158,7 @@ class TaskJuggler
|
|
|
158
158
|
'chargeset'
|
|
159
159
|
end
|
|
160
160
|
|
|
161
|
-
def to_s
|
|
161
|
+
def to_s(query = nil)
|
|
162
162
|
out = []
|
|
163
163
|
@value.each { |i| out << i.to_s }
|
|
164
164
|
out.join(", ")
|
|
@@ -184,7 +184,7 @@ class TaskJuggler
|
|
|
184
184
|
'columns'
|
|
185
185
|
end
|
|
186
186
|
|
|
187
|
-
def to_s
|
|
187
|
+
def to_s(query = nil)
|
|
188
188
|
"TODO"
|
|
189
189
|
end
|
|
190
190
|
end
|
|
@@ -194,6 +194,14 @@ class TaskJuggler
|
|
|
194
194
|
super
|
|
195
195
|
end
|
|
196
196
|
|
|
197
|
+
def to_s(query)
|
|
198
|
+
if @value
|
|
199
|
+
@value.to_s(query.timeFormat)
|
|
200
|
+
else
|
|
201
|
+
'Error'
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
|
|
197
205
|
def DateAttribute::tjpId
|
|
198
206
|
'date'
|
|
199
207
|
end
|
|
@@ -216,7 +224,7 @@ class TaskJuggler
|
|
|
216
224
|
'dependencylist'
|
|
217
225
|
end
|
|
218
226
|
|
|
219
|
-
def to_s
|
|
227
|
+
def to_s(query = nil)
|
|
220
228
|
out = []
|
|
221
229
|
@value.each { |t| out << t.task.fullId if t.task }
|
|
222
230
|
out.join(', ')
|
|
@@ -266,7 +274,7 @@ class TaskJuggler
|
|
|
266
274
|
'flaglist'
|
|
267
275
|
end
|
|
268
276
|
|
|
269
|
-
def to_s
|
|
277
|
+
def to_s(query = nil)
|
|
270
278
|
@value.join(', ')
|
|
271
279
|
end
|
|
272
280
|
|
|
@@ -297,7 +305,7 @@ class TaskJuggler
|
|
|
297
305
|
super
|
|
298
306
|
end
|
|
299
307
|
|
|
300
|
-
def to_s
|
|
308
|
+
def to_s(query = nil)
|
|
301
309
|
@value.join(', ')
|
|
302
310
|
end
|
|
303
311
|
|
|
@@ -314,7 +322,7 @@ class TaskJuggler
|
|
|
314
322
|
'intervallist'
|
|
315
323
|
end
|
|
316
324
|
|
|
317
|
-
def to_s
|
|
325
|
+
def to_s(query = nil)
|
|
318
326
|
out = []
|
|
319
327
|
@value.each { |i| out << i.to_s }
|
|
320
328
|
out.join(", ")
|
|
@@ -387,13 +395,25 @@ class TaskJuggler
|
|
|
387
395
|
'reference'
|
|
388
396
|
end
|
|
389
397
|
|
|
398
|
+
def to_s(query)
|
|
399
|
+
url || ''
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
def to_rti(query)
|
|
403
|
+
return nil unless @value
|
|
404
|
+
|
|
405
|
+
rText = RichText.new("[#{url} #{label}]")
|
|
406
|
+
rText.generateIntermediateFormat
|
|
407
|
+
end
|
|
408
|
+
|
|
390
409
|
def url
|
|
391
410
|
@value ? @value[0] : nil
|
|
392
411
|
end
|
|
393
412
|
|
|
394
413
|
def label
|
|
395
|
-
@value ? @value[1][0] : nil
|
|
414
|
+
@value ? (@value[1] ? @value[1][0] : @value[0]) : nil
|
|
396
415
|
end
|
|
416
|
+
|
|
397
417
|
end
|
|
398
418
|
|
|
399
419
|
class ResourceListAttribute < AttributeBase
|
|
@@ -407,12 +427,19 @@ class TaskJuggler
|
|
|
407
427
|
'resourcelist'
|
|
408
428
|
end
|
|
409
429
|
|
|
410
|
-
def to_s
|
|
430
|
+
def to_s(query = nil)
|
|
411
431
|
out = []
|
|
412
432
|
@value.each { |r| out << r.fullId }
|
|
413
433
|
out.join(", ")
|
|
414
434
|
end
|
|
415
435
|
|
|
436
|
+
def to_rti(query = nil)
|
|
437
|
+
out = []
|
|
438
|
+
@value.each { |r| out << r.name }
|
|
439
|
+
rText = RichText.new(out.join(', '))
|
|
440
|
+
rText.generateIntermediateFormat
|
|
441
|
+
end
|
|
442
|
+
|
|
416
443
|
def to_tjp
|
|
417
444
|
out = []
|
|
418
445
|
@value.each { |r| out << r.fullId }
|
|
@@ -426,10 +453,18 @@ class TaskJuggler
|
|
|
426
453
|
super
|
|
427
454
|
end
|
|
428
455
|
|
|
456
|
+
def inputText
|
|
457
|
+
@value ? @value.richText.inputText : ''
|
|
458
|
+
end
|
|
459
|
+
|
|
429
460
|
def RichTextAttribute::tjpId
|
|
430
461
|
'richtext'
|
|
431
462
|
end
|
|
432
463
|
|
|
464
|
+
def to_s(query = nil)
|
|
465
|
+
@value ? @value.to_s : ''
|
|
466
|
+
end
|
|
467
|
+
|
|
433
468
|
def to_tjp
|
|
434
469
|
"#{@type.id} \"#{@value.to_s}\""
|
|
435
470
|
end
|
|
@@ -445,7 +480,7 @@ class TaskJuggler
|
|
|
445
480
|
'scenarios'
|
|
446
481
|
end
|
|
447
482
|
|
|
448
|
-
def to_s
|
|
483
|
+
def to_s(query = nil)
|
|
449
484
|
@value.join(', ')
|
|
450
485
|
end
|
|
451
486
|
|
|
@@ -522,7 +557,7 @@ class TaskJuggler
|
|
|
522
557
|
'tasklist'
|
|
523
558
|
end
|
|
524
559
|
|
|
525
|
-
def to_s
|
|
560
|
+
def to_s(query = nil)
|
|
526
561
|
out = []
|
|
527
562
|
@value.each { |t, onEnd| out << t.fullId }
|
|
528
563
|
out.join(", ")
|