taskjuggler 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +37 -5
- data/README.rdoc +4 -2
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/benchmarks/css/tjmanual.css +0 -1
- data/benchmarks/htmltaskreport-1.html +47702 -0
- data/benchmarks/htmltaskreport-2.html +23345 -0
- data/benchmarks/htmltaskreport-3.html +23265 -0
- data/benchmarks/htmltaskreport-4.html +22135 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/tj3.profile +0 -0
- data/benchmarks/tj3.profile.grind +6185 -0
- data/benchmarks/tj3.profile.symbols +432 -0
- data/benchmarks/tj3.profile.txt +448 -0
- data/data/tjp.vim +689 -0
- data/doc/AppConfig.html +26 -2
- data/doc/CHANGELOG.html +60 -8
- data/doc/COPYING.html +26 -2
- data/doc/Diff/Hunk.html +26 -2
- data/doc/Diff.html +26 -2
- data/doc/Diffable.html +26 -2
- data/doc/DiffableString.html +26 -2
- data/doc/Object.html +26 -104
- data/doc/README_rdoc.html +39 -7
- data/doc/RuntimeConfig.html +26 -2
- data/doc/String.html +26 -2
- data/doc/TaskJuggler/Account.html +27 -3
- data/doc/TaskJuggler/AccountAttribute.html +30 -6
- data/doc/TaskJuggler/AccountScenario.html +28 -4
- data/doc/TaskJuggler/Allocation.html +33 -9
- data/doc/TaskJuggler/AllocationAttribute.html +31 -7
- data/doc/TaskJuggler/AttributeBase.html +162 -111
- data/doc/TaskJuggler/AttributeDefinition.html +26 -2
- data/doc/TaskJuggler/AttributeOverwrite.html +26 -2
- data/doc/TaskJuggler/BatchProcessor.html +26 -2
- data/doc/TaskJuggler/Booking.html +29 -5
- data/doc/TaskJuggler/BookingListAttribute.html +29 -5
- data/doc/TaskJuggler/BooleanAttribute.html +30 -6
- data/doc/TaskJuggler/CSVFile.html +26 -2
- data/doc/TaskJuggler/CellSettingPattern.html +26 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -2
- data/doc/TaskJuggler/Charge.html +30 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +29 -5
- data/doc/TaskJuggler/ChargeSet.html +26 -2
- data/doc/TaskJuggler/ChargeSetListAttribute.html +30 -6
- data/doc/TaskJuggler/CollisionDetector.html +26 -2
- data/doc/TaskJuggler/ColumnListAttribute.html +28 -4
- data/doc/TaskJuggler/ColumnTable.html +26 -2
- data/doc/TaskJuggler/Daemon.html +26 -2
- data/doc/TaskJuggler/DataCache.html +26 -2
- data/doc/TaskJuggler/DataCacheEntry.html +26 -2
- data/doc/TaskJuggler/DateAttribute.html +30 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +28 -4
- data/doc/TaskJuggler/DependencyListAttribute.html +30 -6
- data/doc/TaskJuggler/DurationAttribute.html +31 -7
- data/doc/TaskJuggler/FileList.html +26 -2
- data/doc/TaskJuggler/FileRecord.html +26 -2
- data/doc/TaskJuggler/FixnumAttribute.html +28 -4
- data/doc/TaskJuggler/FlagListAttribute.html +30 -6
- data/doc/TaskJuggler/FloatAttribute.html +29 -5
- data/doc/TaskJuggler/FormatListAttribute.html +29 -5
- data/doc/TaskJuggler/GanttChart.html +26 -2
- data/doc/TaskJuggler/GanttContainer.html +26 -2
- data/doc/TaskJuggler/GanttHeader.html +26 -2
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -2
- data/doc/TaskJuggler/GanttLine.html +27 -3
- data/doc/TaskJuggler/GanttLoadStack.html +26 -2
- data/doc/TaskJuggler/GanttMilestone.html +26 -2
- data/doc/TaskJuggler/GanttRouter.html +26 -2
- data/doc/TaskJuggler/GanttTaskBar.html +26 -2
- data/doc/TaskJuggler/HTMLDocument.html +26 -2
- data/doc/TaskJuggler/HTMLElements.html +623 -0
- data/doc/TaskJuggler/HTMLGraphics.html +26 -2
- data/doc/TaskJuggler/ICalReport.html +864 -0
- data/doc/TaskJuggler/ICalendar/Component.html +969 -0
- data/doc/TaskJuggler/ICalendar/Event.html +742 -0
- data/doc/TaskJuggler/ICalendar/Journal.html +722 -0
- data/doc/TaskJuggler/ICalendar/Person.html +633 -0
- data/doc/TaskJuggler/ICalendar/Todo.html +789 -0
- data/doc/TaskJuggler/ICalendar.html +1035 -0
- data/doc/TaskJuggler/Interval.html +99 -172
- data/doc/TaskJuggler/IntervalList.html +31 -7
- data/doc/TaskJuggler/JobInfo.html +26 -2
- data/doc/TaskJuggler/Journal.html +26 -2
- data/doc/TaskJuggler/JournalEntry.html +26 -2
- data/doc/TaskJuggler/JournalEntryList.html +26 -2
- data/doc/TaskJuggler/KeywordArray.html +26 -2
- data/doc/TaskJuggler/KeywordDocumentation.html +26 -2
- data/doc/TaskJuggler/Limits/Limit.html +124 -49
- data/doc/TaskJuggler/Limits.html +139 -156
- data/doc/TaskJuggler/LimitsAttribute.html +39 -14
- data/doc/TaskJuggler/ListAttributeBase.html +35 -11
- data/doc/TaskJuggler/Log.html +26 -2
- data/doc/TaskJuggler/LogFile.html +26 -2
- data/doc/TaskJuggler/LogicalAttribute.html +26 -2
- data/doc/TaskJuggler/LogicalExpression.html +26 -2
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +35 -11
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +35 -11
- data/doc/TaskJuggler/LogicalFlag.html +26 -2
- data/doc/TaskJuggler/LogicalFunction.html +28 -4
- data/doc/TaskJuggler/LogicalOperation.html +26 -2
- data/doc/TaskJuggler/ManagerResponsibilities.html +26 -2
- data/doc/TaskJuggler/ManagerStatusRecord.html +26 -2
- data/doc/TaskJuggler/Message.html +26 -2
- data/doc/TaskJuggler/MessageHandler.html +108 -62
- data/doc/TaskJuggler/Navigator.html +26 -2
- data/doc/TaskJuggler/NavigatorElement.html +26 -2
- data/doc/TaskJuggler/NikuProject.html +26 -2
- data/doc/TaskJuggler/NikuReport.html +27 -3
- data/doc/TaskJuggler/NikuResource.html +26 -2
- data/doc/TaskJuggler/NodeListAttribute.html +31 -7
- data/doc/TaskJuggler/PlaceHolderCell.html +26 -2
- data/doc/TaskJuggler/ProcessIntercom.html +26 -2
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -2
- data/doc/TaskJuggler/Project.html +1236 -973
- data/doc/TaskJuggler/ProjectBroker.html +26 -2
- data/doc/TaskJuggler/ProjectBrokerIface.html +26 -2
- data/doc/TaskJuggler/ProjectFileParser.html +29 -4
- data/doc/TaskJuggler/ProjectFileScanner.html +56 -31
- data/doc/TaskJuggler/ProjectRecord.html +26 -2
- data/doc/TaskJuggler/ProjectServer.html +26 -2
- data/doc/TaskJuggler/ProjectServerIface.html +26 -2
- data/doc/TaskJuggler/PropertyAttribute.html +35 -11
- data/doc/TaskJuggler/PropertyList.html +26 -2
- data/doc/TaskJuggler/PropertySet.html +126 -106
- data/doc/TaskJuggler/PropertyTreeNode.html +595 -551
- data/doc/TaskJuggler/Query.html +127 -100
- data/doc/TaskJuggler/RTFHandlers.html +26 -2
- data/doc/TaskJuggler/RTFNavigator.html +26 -2
- data/doc/TaskJuggler/RTFQuery.html +28 -4
- data/doc/TaskJuggler/RTFReport.html +26 -2
- data/doc/TaskJuggler/RTFReportLink.html +26 -2
- data/doc/TaskJuggler/RTFWithQuerySupport.html +26 -2
- data/doc/TaskJuggler/RealFormat.html +26 -2
- data/doc/TaskJuggler/RealFormatAttribute.html +31 -7
- data/doc/TaskJuggler/ReferenceAttribute.html +58 -34
- data/doc/TaskJuggler/Report.html +427 -284
- data/doc/TaskJuggler/ReportBase.html +28 -102
- data/doc/TaskJuggler/ReportContext.html +26 -2
- data/doc/TaskJuggler/ReportScenario.html +633 -0
- data/doc/TaskJuggler/ReportServer.html +26 -2
- data/doc/TaskJuggler/ReportServerIface.html +26 -2
- data/doc/TaskJuggler/ReportServerRecord.html +26 -2
- data/doc/TaskJuggler/ReportServlet.html +26 -2
- data/doc/TaskJuggler/ReportTable.html +26 -2
- data/doc/TaskJuggler/ReportTableCell.html +26 -2
- data/doc/TaskJuggler/ReportTableColumn.html +26 -2
- data/doc/TaskJuggler/ReportTableLegend.html +26 -2
- data/doc/TaskJuggler/ReportTableLine.html +26 -2
- data/doc/TaskJuggler/Resource.html +225 -163
- data/doc/TaskJuggler/ResourceListAttribute.html +71 -47
- data/doc/TaskJuggler/ResourceListRE.html +26 -2
- data/doc/TaskJuggler/ResourceScenario.html +645 -603
- data/doc/TaskJuggler/RichText.html +26 -2
- data/doc/TaskJuggler/RichTextAttribute.html +53 -29
- data/doc/TaskJuggler/RichTextDocument.html +26 -2
- data/doc/TaskJuggler/RichTextElement.html +26 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +26 -2
- data/doc/TaskJuggler/RichTextFunctionHandler.html +26 -2
- data/doc/TaskJuggler/RichTextImage.html +26 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +29 -5
- data/doc/TaskJuggler/RichTextParser.html +26 -2
- data/doc/TaskJuggler/RichTextScanner.html +26 -2
- data/doc/TaskJuggler/RichTextSnip.html +26 -2
- data/doc/TaskJuggler/RichTextSyntaxRules.html +26 -2
- data/doc/TaskJuggler/Scenario.html +26 -2
- data/doc/TaskJuggler/ScenarioData.html +95 -28
- data/doc/TaskJuggler/ScenarioListAttribute.html +39 -15
- data/doc/TaskJuggler/Scoreboard.html +137 -73
- data/doc/TaskJuggler/ScoreboardInterval.html +1116 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +26 -2
- data/doc/TaskJuggler/SheetReceiver.html +26 -2
- data/doc/TaskJuggler/SheetSender.html +26 -2
- data/doc/TaskJuggler/Shift.html +27 -3
- data/doc/TaskJuggler/ShiftAssignment.html +27 -3
- data/doc/TaskJuggler/ShiftAssignments.html +174 -149
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +41 -16
- data/doc/TaskJuggler/ShiftScenario.html +26 -2
- data/doc/TaskJuggler/SimpleQueryExpander.html +26 -2
- data/doc/TaskJuggler/SortListAttribute.html +35 -11
- data/doc/TaskJuggler/StatusSheetReceiver.html +26 -2
- data/doc/TaskJuggler/StatusSheetReport.html +26 -2
- data/doc/TaskJuggler/StatusSheetSender.html +26 -2
- data/doc/TaskJuggler/StdIoWrapper.html +26 -2
- data/doc/TaskJuggler/StringAttribute.html +39 -15
- data/doc/TaskJuggler/SymbolAttribute.html +35 -11
- data/doc/TaskJuggler/SyntaxReference.html +26 -2
- data/doc/TaskJuggler/TOCEntry.html +26 -2
- data/doc/TaskJuggler/TSResourceRecord.html +26 -2
- data/doc/TaskJuggler/TSTaskRecord.html +26 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +26 -2
- data/doc/TaskJuggler/TableOfContents.html +26 -2
- data/doc/TaskJuggler/TableReport.html +239 -214
- data/doc/TaskJuggler/TagFile/TagFileEntry.html +841 -0
- data/doc/TaskJuggler/TagFile.html +817 -0
- data/doc/TaskJuggler/Task.html +27 -3
- data/doc/TaskJuggler/TaskDepListAttribute.html +47 -23
- data/doc/TaskJuggler/TaskDependency.html +26 -2
- data/doc/TaskJuggler/TaskListAttribute.html +47 -23
- data/doc/TaskJuggler/TaskListRE.html +26 -2
- data/doc/TaskJuggler/TaskScenario.html +2235 -2178
- data/doc/TaskJuggler/TernarySearchTree.html +26 -2
- data/doc/TaskJuggler/TextFormatter.html +26 -2
- data/doc/TaskJuggler/TextParser/Macro.html +26 -2
- data/doc/TaskJuggler/TextParser/MacroTable.html +26 -2
- data/doc/TaskJuggler/TextParser/Pattern.html +26 -2
- data/doc/TaskJuggler/TextParser/Rule.html +26 -2
- data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +32 -8
- data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +39 -15
- data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +26 -2
- data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +119 -86
- data/doc/TaskJuggler/TextParser/Scanner.html +317 -291
- data/doc/TaskJuggler/TextParser/SourceFileInfo.html +26 -2
- data/doc/TaskJuggler/TextParser/StackElement.html +26 -2
- data/doc/TaskJuggler/TextParser/State.html +26 -2
- data/doc/TaskJuggler/TextParser/StateTransition.html +26 -2
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +26 -2
- data/doc/TaskJuggler/TextParser/TokenDoc.html +26 -2
- data/doc/TaskJuggler/TextParser.html +85 -61
- data/doc/TaskJuggler/TextReport.html +26 -2
- data/doc/TaskJuggler/TimeInterval.html +841 -0
- data/doc/TaskJuggler/{IntervalListAttribute.html → TimeIntervalListAttribute.html} +33 -9
- data/doc/TaskJuggler/TimeSheet.html +26 -2
- data/doc/TaskJuggler/TimeSheetReceiver.html +26 -2
- data/doc/TaskJuggler/TimeSheetRecord.html +27 -3
- data/doc/TaskJuggler/TimeSheetReport.html +29 -5
- data/doc/TaskJuggler/TimeSheetSender.html +26 -2
- data/doc/TaskJuggler/TimeSheetSummary.html +26 -2
- data/doc/TaskJuggler/TimeSheets.html +26 -2
- data/doc/TaskJuggler/Tj3.html +150 -111
- data/doc/TaskJuggler/Tj3AppBase.html +26 -2
- data/doc/TaskJuggler/Tj3Client.html +26 -2
- data/doc/TaskJuggler/Tj3Daemon.html +26 -2
- data/doc/TaskJuggler/Tj3Man.html +26 -2
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -2
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -2
- data/doc/TaskJuggler/Tj3SsSender.html +26 -2
- data/doc/TaskJuggler/Tj3TsReceiver.html +26 -2
- data/doc/TaskJuggler/Tj3TsSender.html +26 -2
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -2
- data/doc/TaskJuggler/TjException.html +26 -2
- data/doc/TaskJuggler/TjRuntimeError.html +26 -2
- data/doc/TaskJuggler/TjTime.html +539 -477
- data/doc/TaskJuggler/TjpExample.html +26 -2
- data/doc/TaskJuggler/TjpExportRE.html +240 -161
- data/doc/TaskJuggler/TjpSyntaxRules.html +4236 -3844
- data/doc/TaskJuggler/URLParameter.html +26 -2
- data/doc/TaskJuggler/UserManual.html +26 -2
- data/doc/TaskJuggler/VimSyntax.html +31 -7
- data/doc/TaskJuggler/WebServer.html +26 -2
- data/doc/TaskJuggler/WelcomePage.html +26 -2
- data/doc/TaskJuggler/WorkingHours.html +227 -152
- data/doc/TaskJuggler/WorkingHoursAttribute.html +62 -38
- data/doc/TaskJuggler/XMLBlob.html +26 -2
- data/doc/TaskJuggler/XMLComment.html +26 -2
- data/doc/TaskJuggler/XMLDocument.html +26 -2
- data/doc/TaskJuggler/XMLElement.html +26 -2
- data/doc/TaskJuggler/XMLNamedText.html +26 -2
- data/doc/TaskJuggler/XMLText.html +26 -2
- data/doc/TaskJuggler.html +486 -427
- data/doc/index.html +801 -659
- data/doc/lib/taskjuggler/AccountScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Account_rb.html +1 -1
- data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +1 -1
- data/doc/lib/taskjuggler/Allocation_rb.html +1 -1
- data/doc/lib/taskjuggler/AppConfig_rb.html +1 -1
- data/doc/lib/taskjuggler/AttributeBase_rb.html +1 -1
- data/doc/lib/taskjuggler/AttributeDefinition_rb.html +1 -1
- data/doc/lib/taskjuggler/Attributes_rb.html +1 -1
- data/doc/lib/taskjuggler/BatchProcessor_rb.html +1 -1
- data/doc/lib/taskjuggler/Booking_rb.html +1 -1
- data/doc/lib/taskjuggler/ChargeSet_rb.html +1 -1
- data/doc/lib/taskjuggler/Charge_rb.html +1 -1
- data/doc/lib/taskjuggler/DataCache_rb.html +1 -1
- data/doc/lib/taskjuggler/FileList_rb.html +1 -1
- data/doc/lib/taskjuggler/HTMLDocument_rb.html +1 -1
- data/doc/lib/{ruby-signal-bug_rb.html → taskjuggler/HTMLElements_rb.html} +9 -9
- data/doc/lib/{exchangebug_rb.html → taskjuggler/ICalendar_rb.html} +9 -9
- data/doc/lib/taskjuggler/IntervalList_rb.html +1 -1
- data/doc/lib/taskjuggler/Interval_rb.html +1 -1
- data/doc/lib/taskjuggler/Journal_rb.html +1 -1
- data/doc/lib/taskjuggler/KeywordArray_rb.html +1 -1
- data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/taskjuggler/Limits_rb.html +1 -1
- data/doc/lib/taskjuggler/LogFile_rb.html +1 -1
- data/doc/lib/taskjuggler/Log_rb.html +1 -1
- data/doc/lib/taskjuggler/LogicalExpression_rb.html +1 -1
- data/doc/lib/taskjuggler/LogicalFunction_rb.html +1 -1
- data/doc/lib/taskjuggler/LogicalOperation_rb.html +1 -1
- data/doc/lib/taskjuggler/MessageHandler_rb.html +1 -1
- data/doc/lib/taskjuggler/ProjectFileParser_rb.html +1 -1
- data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/taskjuggler/Project_rb.html +1 -1
- data/doc/lib/taskjuggler/PropertyList_rb.html +1 -1
- data/doc/lib/taskjuggler/PropertySet_rb.html +1 -1
- data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +1 -1
- data/doc/lib/taskjuggler/Query_rb.html +1 -1
- data/doc/lib/taskjuggler/RealFormat_rb.html +1 -1
- data/doc/lib/taskjuggler/ResourceScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Resource_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Document_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Element_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Parser_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Scanner_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Snip_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText_rb.html +1 -1
- data/doc/lib/taskjuggler/RuntimeConfig_rb.html +1 -1
- data/doc/lib/taskjuggler/ScenarioData_rb.html +1 -1
- data/doc/lib/taskjuggler/Scenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Scoreboard_rb.html +1 -1
- data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/taskjuggler/SheetReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/SheetSender_rb.html +1 -1
- data/doc/lib/taskjuggler/ShiftAssignments_rb.html +1 -1
- data/doc/lib/taskjuggler/ShiftScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Shift_rb.html +1 -1
- data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +1 -1
- data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/StatusSheetSender_rb.html +1 -1
- data/doc/lib/taskjuggler/StdIoWrapper_rb.html +1 -1
- data/doc/lib/taskjuggler/SyntaxReference_rb.html +1 -1
- data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +1 -1
- data/doc/lib/taskjuggler/TaskDependency_rb.html +1 -1
- data/doc/lib/taskjuggler/TaskJuggler_rb.html +1 -1
- data/doc/lib/taskjuggler/TaskScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Task_rb.html +1 -1
- data/doc/lib/taskjuggler/TernarySearchTree_rb.html +1 -1
- data/doc/lib/taskjuggler/TextFormatter_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/Rule_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/State_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheetSender_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheets_rb.html +1 -1
- data/doc/lib/taskjuggler/Tj3AppBase_rb.html +1 -1
- data/doc/lib/taskjuggler/Tj3Config_rb.html +1 -1
- data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +1 -1
- data/doc/lib/taskjuggler/TjException_rb.html +1 -1
- data/doc/lib/taskjuggler/TjTime_rb.html +1 -1
- data/doc/lib/taskjuggler/TjpExample_rb.html +1 -1
- data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/taskjuggler/URLParameter_rb.html +1 -1
- data/doc/lib/taskjuggler/UTF8String_rb.html +1 -1
- data/doc/lib/taskjuggler/UserManual_rb.html +1 -1
- data/doc/lib/taskjuggler/VimSyntax_rb.html +1 -1
- data/doc/lib/taskjuggler/WorkingHours_rb.html +1 -1
- data/doc/lib/taskjuggler/XMLDocument_rb.html +1 -1
- data/doc/lib/taskjuggler/XMLElement_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/Daemon_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/WebServer_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +1 -1
- data/doc/lib/taskjuggler/deep_copy_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/CSVFile_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttChart_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttLine_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ICalReport_rb.html +71 -0
- data/doc/lib/taskjuggler/reports/Navigator_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/NikuReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportBase_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportContext_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTable_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/Report_rb.html +5 -1
- data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TableReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TagFile_rb.html +71 -0
- data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TextReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +1 -1
- data/doc/lib/tj3_rb.html +1 -1
- data/doc/lib/tj3client_rb.html +1 -1
- data/doc/lib/tj3d_rb.html +1 -1
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +1 -1
- data/doc/lib/tj3ts_receiver_rb.html +1 -1
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/lib/taskjuggler/Account.rb +1 -1
- data/lib/taskjuggler/AccountScenario.rb +1 -1
- data/lib/taskjuggler/Allocation.rb +5 -5
- data/lib/taskjuggler/AttributeBase.rb +30 -22
- data/lib/taskjuggler/Attributes.rb +80 -78
- data/lib/taskjuggler/Booking.rb +2 -2
- data/lib/taskjuggler/Charge.rb +3 -3
- data/lib/taskjuggler/ICalendar.rb +251 -0
- data/lib/taskjuggler/Interval.rb +215 -53
- data/lib/taskjuggler/IntervalList.rb +5 -5
- data/lib/taskjuggler/Limits.rb +79 -69
- data/lib/taskjuggler/LogicalFunction.rb +2 -2
- data/lib/taskjuggler/MessageHandler.rb +11 -6
- data/lib/taskjuggler/Project.rb +208 -95
- data/lib/taskjuggler/ProjectFileParser.rb +2 -2
- data/lib/taskjuggler/ProjectFileScanner.rb +7 -6
- data/lib/taskjuggler/PropertySet.rb +1 -5
- data/lib/taskjuggler/PropertyTreeNode.rb +21 -16
- data/lib/taskjuggler/Query.rb +10 -7
- data/lib/taskjuggler/Resource.rb +6 -1
- data/lib/taskjuggler/ResourceScenario.rb +85 -69
- data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
- data/lib/taskjuggler/ScenarioData.rb +11 -1
- data/lib/taskjuggler/Scoreboard.rb +8 -1
- data/lib/taskjuggler/Shift.rb +1 -1
- data/lib/taskjuggler/ShiftAssignments.rb +22 -20
- data/lib/taskjuggler/Task.rb +1 -1
- data/lib/taskjuggler/TaskJuggler.rb +65 -51
- data/lib/taskjuggler/TaskScenario.rb +486 -419
- data/lib/taskjuggler/TextParser/Scanner.rb +22 -11
- data/lib/taskjuggler/TimeSheets.rb +1 -1
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/lib/taskjuggler/TjTime.rb +7 -3
- data/lib/taskjuggler/TjpSyntaxRules.rb +157 -23
- data/lib/taskjuggler/VimSyntax.rb +18 -0
- data/lib/taskjuggler/WorkingHours.rb +20 -4
- data/lib/taskjuggler/apps/Tj3.rb +16 -1
- data/lib/taskjuggler/reports/GanttLine.rb +1 -1
- data/lib/taskjuggler/reports/ICalReport.rb +136 -0
- data/lib/taskjuggler/reports/NikuReport.rb +1 -1
- data/lib/taskjuggler/reports/Report.rb +59 -0
- data/lib/taskjuggler/reports/ReportBase.rb +2 -67
- data/lib/taskjuggler/reports/TableReport.rb +9 -8
- data/lib/taskjuggler/reports/TagFile.rb +120 -0
- data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
- data/lib/taskjuggler/reports/TjpExportRE.rb +33 -9
- data/manual/Installation +126 -0
- data/spec/ICalendar_spec.rb +45 -0
- data/spec/IntervalList_spec.rb +11 -11
- data/tasks/changelog.rake +150 -60
- data/tasks/gem.rake +1 -0
- data/tasks/vim.rake +2 -2
- data/test/TestSuite/Export-Reports/refs/Booking.tjp +1 -1
- data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
- data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +10 -1
- data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +1 -1
- data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
- data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
- data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/{Scheduler/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +3 -3
- data/test/TestSuite/Scheduler/Errors/R.html +113 -0
- data/test/TestSuite/Scheduler/Errors/allocate_no_assigned.tjp +15 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjmanual.css +0 -1
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjreport.css +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/details.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-green.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-red.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resource.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/task.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/taskgroup.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-down.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-flat.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/overbooked_duration.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/overbooked_effort.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/overbooked_length.tjp +13 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +5 -2
- data/test/TestSuite/Syntax/Errors/scenario_after_tracking.tjp +8 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_Limits.rb +38 -30
- data/test/test_Scheduler.rb +2 -2
- data/test/test_ShiftAssignments.rb +8 -8
- data/test/test_WorkingHours.rb +4 -4
- metadata +1015 -1005
- data/lib/exchangebug.rb +0 -42
- data/lib/ruby-signal-bug.rb +0 -55
- data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
- data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -412
- data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -680
- data/test/TestSuite/ReportGenerator/Correct/DependencyList.csv +0 -4
- data/test/TestSuite/ReportGenerator/Correct/DependencyList.tjp +0 -25
- data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -8
- data/test/TestSuite/ReportGenerator/Correct/Journal-2.csv +0 -8
- data/test/TestSuite/ReportGenerator/Correct/Journal-3.html +0 -28
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/' +0 -23
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
- data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
- data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
- data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
- data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -23,7 +23,7 @@ require 'taskjuggler/WorkingHours'
|
|
23
23
|
class TaskJuggler
|
24
24
|
|
25
25
|
class AccountAttribute < AttributeBase
|
26
|
-
def initialize(property, type)
|
26
|
+
def initialize(property, type, container)
|
27
27
|
super
|
28
28
|
end
|
29
29
|
|
@@ -32,20 +32,20 @@ class TaskJuggler
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def to_s(query = nil)
|
35
|
-
|
35
|
+
(v = get) ? v.id : ''
|
36
36
|
end
|
37
37
|
|
38
38
|
def to_tjp
|
39
|
-
|
39
|
+
(v = get)? v.id : ''
|
40
40
|
end
|
41
41
|
|
42
42
|
end
|
43
43
|
|
44
44
|
class AllocationAttribute < AttributeBase
|
45
|
-
def initialize(property, type)
|
45
|
+
def initialize(property, type, container)
|
46
46
|
super
|
47
47
|
|
48
|
-
|
48
|
+
set(Array.new)
|
49
49
|
end
|
50
50
|
|
51
51
|
def AllocationAttribute::tjpId
|
@@ -54,7 +54,7 @@ class TaskJuggler
|
|
54
54
|
|
55
55
|
def to_tjp
|
56
56
|
out = []
|
57
|
-
|
57
|
+
get.each do |allocation|
|
58
58
|
out.push("allocate #{allocation.to_tjp}\n")
|
59
59
|
# TODO: incomplete
|
60
60
|
end
|
@@ -64,7 +64,7 @@ class TaskJuggler
|
|
64
64
|
def to_s(query = nil)
|
65
65
|
out = ''
|
66
66
|
first = true
|
67
|
-
|
67
|
+
get.each do |allocation|
|
68
68
|
if first
|
69
69
|
first = false
|
70
70
|
else
|
@@ -91,7 +91,7 @@ class TaskJuggler
|
|
91
91
|
end
|
92
92
|
|
93
93
|
class BookingListAttribute < ListAttributeBase
|
94
|
-
def initialize(property, type)
|
94
|
+
def initialize(property, type, container)
|
95
95
|
super
|
96
96
|
end
|
97
97
|
|
@@ -100,7 +100,7 @@ class TaskJuggler
|
|
100
100
|
end
|
101
101
|
|
102
102
|
def to_s(query = nil)
|
103
|
-
|
103
|
+
get.collect{ |x| x.to_s }.join(', ')
|
104
104
|
end
|
105
105
|
|
106
106
|
def to_tjp
|
@@ -110,7 +110,7 @@ class TaskJuggler
|
|
110
110
|
end
|
111
111
|
|
112
112
|
class BooleanAttribute < AttributeBase
|
113
|
-
def initialize(property, type)
|
113
|
+
def initialize(property, type, container)
|
114
114
|
super
|
115
115
|
end
|
116
116
|
|
@@ -119,17 +119,17 @@ class TaskJuggler
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def to_s(query = nil)
|
122
|
-
|
122
|
+
get ? 'true' : 'false'
|
123
123
|
end
|
124
124
|
|
125
125
|
def to_tjp
|
126
|
-
@type.id + ' ' + (
|
126
|
+
@type.id + ' ' + (get ? 'yes' : 'no')
|
127
127
|
end
|
128
128
|
|
129
129
|
end
|
130
130
|
|
131
131
|
class ChargeListAttribute < ListAttributeBase
|
132
|
-
def initialize(property, type)
|
132
|
+
def initialize(property, type, container)
|
133
133
|
super
|
134
134
|
end
|
135
135
|
|
@@ -138,7 +138,7 @@ class TaskJuggler
|
|
138
138
|
end
|
139
139
|
|
140
140
|
def to_s(query = nil)
|
141
|
-
|
141
|
+
get.join(', ')
|
142
142
|
end
|
143
143
|
|
144
144
|
end
|
@@ -147,7 +147,7 @@ class TaskJuggler
|
|
147
147
|
# PropertyTreeNode attributes.
|
148
148
|
class ChargeSetListAttribute < ListAttributeBase
|
149
149
|
|
150
|
-
def initialize(property, type)
|
150
|
+
def initialize(property, type, container)
|
151
151
|
super
|
152
152
|
end
|
153
153
|
|
@@ -157,13 +157,13 @@ class TaskJuggler
|
|
157
157
|
|
158
158
|
def to_s(query = nil)
|
159
159
|
out = []
|
160
|
-
|
160
|
+
get.each { |i| out << i.to_s }
|
161
161
|
out.join(", ")
|
162
162
|
end
|
163
163
|
|
164
164
|
def to_tjp
|
165
165
|
out = []
|
166
|
-
|
166
|
+
get.each { |i| out << i.to_s }
|
167
167
|
@type.id + " " + out.join(', ')
|
168
168
|
end
|
169
169
|
|
@@ -171,7 +171,7 @@ class TaskJuggler
|
|
171
171
|
|
172
172
|
class ColumnListAttribute < ListAttributeBase
|
173
173
|
|
174
|
-
def initialize(property, type)
|
174
|
+
def initialize(property, type, container)
|
175
175
|
super
|
176
176
|
end
|
177
177
|
|
@@ -185,13 +185,13 @@ class TaskJuggler
|
|
185
185
|
end
|
186
186
|
|
187
187
|
class DateAttribute < AttributeBase
|
188
|
-
def initialize(property, type)
|
188
|
+
def initialize(property, type, container)
|
189
189
|
super
|
190
190
|
end
|
191
191
|
|
192
192
|
def to_s(query = nil)
|
193
|
-
if
|
194
|
-
|
193
|
+
if (v = get)
|
194
|
+
v.to_s(query ? query.timeFormat : '%Y-%m-%d')
|
195
195
|
else
|
196
196
|
'Error'
|
197
197
|
end
|
@@ -203,13 +203,13 @@ class TaskJuggler
|
|
203
203
|
end
|
204
204
|
|
205
205
|
class DefinitionListAttribute < ListAttributeBase
|
206
|
-
def initialize(property, type)
|
206
|
+
def initialize(property, type, container)
|
207
207
|
super
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
211
211
|
class DependencyListAttribute < ListAttributeBase
|
212
|
-
def initialize(property, type)
|
212
|
+
def initialize(property, type, container)
|
213
213
|
super
|
214
214
|
end
|
215
215
|
|
@@ -219,20 +219,20 @@ class TaskJuggler
|
|
219
219
|
|
220
220
|
def to_s(query = nil)
|
221
221
|
out = []
|
222
|
-
|
222
|
+
get.each { |t| out << t.task.fullId if t.task }
|
223
223
|
out.join(', ')
|
224
224
|
end
|
225
225
|
|
226
226
|
def to_tjp
|
227
227
|
out = []
|
228
|
-
|
228
|
+
get.each { |taskDep| out << taskDep.task.fullId }
|
229
229
|
@type.id + " " + out.join(', ')
|
230
230
|
end
|
231
231
|
|
232
232
|
end
|
233
233
|
|
234
234
|
class DurationAttribute < AttributeBase
|
235
|
-
def initialize(property, type)
|
235
|
+
def initialize(property, type, container)
|
236
236
|
super
|
237
237
|
end
|
238
238
|
|
@@ -241,18 +241,18 @@ class TaskJuggler
|
|
241
241
|
end
|
242
242
|
|
243
243
|
def to_tjp
|
244
|
-
@type.id + ' ' +
|
244
|
+
@type.id + ' ' + get.to_s + 'h'
|
245
245
|
end
|
246
246
|
|
247
247
|
def to_s(query = nil)
|
248
|
-
query ? query.scaleDuration(query.project.slotsToDays(
|
249
|
-
|
248
|
+
query ? query.scaleDuration(query.project.slotsToDays(get)) :
|
249
|
+
get.to_s
|
250
250
|
end
|
251
251
|
|
252
252
|
end
|
253
253
|
|
254
254
|
class FixnumAttribute < AttributeBase
|
255
|
-
def initialize(property, type)
|
255
|
+
def initialize(property, type, container)
|
256
256
|
super
|
257
257
|
end
|
258
258
|
|
@@ -262,7 +262,7 @@ class TaskJuggler
|
|
262
262
|
end
|
263
263
|
|
264
264
|
class FlagListAttribute < ListAttributeBase
|
265
|
-
def initialize(property, type)
|
265
|
+
def initialize(property, type, container)
|
266
266
|
super
|
267
267
|
end
|
268
268
|
|
@@ -271,17 +271,17 @@ class TaskJuggler
|
|
271
271
|
end
|
272
272
|
|
273
273
|
def to_s(query = nil)
|
274
|
-
|
274
|
+
get.join(', ')
|
275
275
|
end
|
276
276
|
|
277
277
|
def to_tjp
|
278
|
-
"flags #{
|
278
|
+
"flags #{get.join(', ')}"
|
279
279
|
end
|
280
280
|
|
281
281
|
end
|
282
282
|
|
283
283
|
class FloatAttribute < AttributeBase
|
284
|
-
def initialize(property, type)
|
284
|
+
def initialize(property, type, container)
|
285
285
|
super
|
286
286
|
end
|
287
287
|
|
@@ -290,41 +290,41 @@ class TaskJuggler
|
|
290
290
|
end
|
291
291
|
|
292
292
|
def to_tjp
|
293
|
-
id + ' ' +
|
293
|
+
id + ' ' + get.to_s
|
294
294
|
end
|
295
295
|
|
296
296
|
end
|
297
297
|
|
298
298
|
class FormatListAttribute < ListAttributeBase
|
299
299
|
|
300
|
-
def initialize(property, type)
|
300
|
+
def initialize(property, type, container)
|
301
301
|
super
|
302
302
|
end
|
303
303
|
|
304
304
|
def to_s(query = nil)
|
305
|
-
|
305
|
+
get.join(', ')
|
306
306
|
end
|
307
307
|
|
308
308
|
end
|
309
309
|
|
310
|
-
class
|
311
|
-
def initialize(property, type)
|
310
|
+
class TimeIntervalListAttribute < ListAttributeBase
|
311
|
+
def initialize(property, type, container)
|
312
312
|
super
|
313
313
|
end
|
314
314
|
|
315
|
-
def
|
315
|
+
def TimeIntervalListAttribute::tjpId
|
316
316
|
'intervallist'
|
317
317
|
end
|
318
318
|
|
319
319
|
def to_s(query = nil)
|
320
320
|
out = []
|
321
|
-
|
321
|
+
get.each { |i| out << i.to_s }
|
322
322
|
out.join(", ")
|
323
323
|
end
|
324
324
|
|
325
325
|
def to_tjp
|
326
326
|
out = []
|
327
|
-
|
327
|
+
get.each { |i| out << i.to_s }
|
328
328
|
@type.id + " " + out.join(', ')
|
329
329
|
end
|
330
330
|
|
@@ -332,9 +332,10 @@ class TaskJuggler
|
|
332
332
|
|
333
333
|
class LimitsAttribute < AttributeBase
|
334
334
|
|
335
|
-
def initialize(property, type)
|
335
|
+
def initialize(property, type, container)
|
336
336
|
super
|
337
|
-
|
337
|
+
v = get
|
338
|
+
v.setProject(property.project) if v
|
338
339
|
end
|
339
340
|
|
340
341
|
def LimitsAttribute::tjpId
|
@@ -349,7 +350,7 @@ class TaskJuggler
|
|
349
350
|
|
350
351
|
class LogicalExpressionAttribute < AttributeBase
|
351
352
|
|
352
|
-
def initialize(property, type)
|
353
|
+
def initialize(property, type, container)
|
353
354
|
super
|
354
355
|
end
|
355
356
|
|
@@ -361,7 +362,7 @@ class TaskJuggler
|
|
361
362
|
|
362
363
|
class LogicalExpressionListAttribute < ListAttributeBase
|
363
364
|
|
364
|
-
def initialize(property, type)
|
365
|
+
def initialize(property, type, container)
|
365
366
|
super
|
366
367
|
end
|
367
368
|
|
@@ -372,13 +373,13 @@ class TaskJuggler
|
|
372
373
|
end
|
373
374
|
|
374
375
|
class NodeListAttribute < ListAttributeBase
|
375
|
-
def initialize(
|
376
|
+
def initialize(property, type, container)
|
376
377
|
super
|
377
378
|
end
|
378
379
|
end
|
379
380
|
|
380
381
|
class PropertyAttribute < AttributeBase
|
381
|
-
def initialize(property, type)
|
382
|
+
def initialize(property, type, container)
|
382
383
|
super
|
383
384
|
end
|
384
385
|
|
@@ -389,14 +390,14 @@ class TaskJuggler
|
|
389
390
|
|
390
391
|
class RealFormatAttribute < AttributeBase
|
391
392
|
|
392
|
-
def initialize(property, type)
|
393
|
+
def initialize(property, type, container)
|
393
394
|
super
|
394
395
|
end
|
395
396
|
|
396
397
|
end
|
397
398
|
|
398
399
|
class ReferenceAttribute < AttributeBase
|
399
|
-
def initialize(property, type)
|
400
|
+
def initialize(property, type, container)
|
400
401
|
super
|
401
402
|
end
|
402
403
|
|
@@ -409,7 +410,7 @@ class TaskJuggler
|
|
409
410
|
end
|
410
411
|
|
411
412
|
def to_rti(query)
|
412
|
-
return nil unless
|
413
|
+
return nil unless get
|
413
414
|
|
414
415
|
rText = RichText.new("[#{url} #{label}]")
|
415
416
|
rText.generateIntermediateFormat
|
@@ -420,17 +421,17 @@ class TaskJuggler
|
|
420
421
|
end
|
421
422
|
|
422
423
|
def url
|
423
|
-
|
424
|
+
(v = get) ? v[0] : nil
|
424
425
|
end
|
425
426
|
|
426
427
|
def label
|
427
|
-
|
428
|
+
(v = get) ? (v[1] ? v[1][0] : v[0]) : nil
|
428
429
|
end
|
429
430
|
|
430
431
|
end
|
431
432
|
|
432
433
|
class ResourceListAttribute < ListAttributeBase
|
433
|
-
def initialize(property, type)
|
434
|
+
def initialize(property, type, container)
|
434
435
|
super
|
435
436
|
end
|
436
437
|
|
@@ -440,14 +441,14 @@ class TaskJuggler
|
|
440
441
|
|
441
442
|
def to_s(query = nil)
|
442
443
|
out = []
|
443
|
-
|
444
|
+
get.each { |r| out << r.fullId }
|
444
445
|
out.join(", ")
|
445
446
|
end
|
446
447
|
|
447
448
|
def to_rti(query = nil)
|
448
449
|
out = []
|
449
450
|
if query
|
450
|
-
|
451
|
+
get.each do |r|
|
451
452
|
if query.listItem
|
452
453
|
rti = RichText.new(query.listItem, RTFHandlers.create(r.project),
|
453
454
|
r.project.messageHandler).
|
@@ -462,7 +463,7 @@ class TaskJuggler
|
|
462
463
|
end
|
463
464
|
query.assignList(out)
|
464
465
|
else
|
465
|
-
|
466
|
+
get.each { |r| out << r.name }
|
466
467
|
rText = RichText.new(out.join(', '))
|
467
468
|
rText.generateIntermediateFormat
|
468
469
|
end
|
@@ -470,19 +471,19 @@ class TaskJuggler
|
|
470
471
|
|
471
472
|
def to_tjp
|
472
473
|
out = []
|
473
|
-
|
474
|
+
get.each { |r| out << r.fullId }
|
474
475
|
@type.id + " " + out.join(', ')
|
475
476
|
end
|
476
477
|
|
477
478
|
end
|
478
479
|
|
479
480
|
class RichTextAttribute < AttributeBase
|
480
|
-
def initialize(property, type)
|
481
|
+
def initialize(property, type, container)
|
481
482
|
super
|
482
483
|
end
|
483
484
|
|
484
485
|
def inputText
|
485
|
-
|
486
|
+
(v = get) ? v.richText.inputText : ''
|
486
487
|
end
|
487
488
|
|
488
489
|
def RichTextAttribute::tjpId
|
@@ -490,11 +491,11 @@ class TaskJuggler
|
|
490
491
|
end
|
491
492
|
|
492
493
|
def to_s(query = nil)
|
493
|
-
|
494
|
+
(v = get) ? v.to_s : ''
|
494
495
|
end
|
495
496
|
|
496
497
|
def to_tjp
|
497
|
-
inputText =
|
498
|
+
inputText = get.richText.inputText
|
498
499
|
if inputText[-1] == ?\n
|
499
500
|
"#{@type.id} -8<-\n#{inputText}\n->8-"
|
500
501
|
else
|
@@ -506,7 +507,7 @@ class TaskJuggler
|
|
506
507
|
end
|
507
508
|
|
508
509
|
class ScenarioListAttribute < ListAttributeBase
|
509
|
-
def initialize(property, type)
|
510
|
+
def initialize(property, type, container)
|
510
511
|
super
|
511
512
|
end
|
512
513
|
|
@@ -515,7 +516,7 @@ class TaskJuggler
|
|
515
516
|
end
|
516
517
|
|
517
518
|
def to_s(query = nil)
|
518
|
-
|
519
|
+
get.join(', ')
|
519
520
|
end
|
520
521
|
|
521
522
|
end
|
@@ -523,9 +524,10 @@ class TaskJuggler
|
|
523
524
|
|
524
525
|
class ShiftAssignmentsAttribute < AttributeBase
|
525
526
|
|
526
|
-
def initialize(property, type)
|
527
|
+
def initialize(property, type, container)
|
527
528
|
super
|
528
|
-
|
529
|
+
v = get
|
530
|
+
v.project = property.project if v
|
529
531
|
end
|
530
532
|
|
531
533
|
def ShiftAssignmentsAttribute::tjpId
|
@@ -540,7 +542,7 @@ class TaskJuggler
|
|
540
542
|
|
541
543
|
class SortListAttribute < ListAttributeBase
|
542
544
|
|
543
|
-
def initialize(property, type)
|
545
|
+
def initialize(property, type, container)
|
544
546
|
super
|
545
547
|
end
|
546
548
|
|
@@ -551,7 +553,7 @@ class TaskJuggler
|
|
551
553
|
end
|
552
554
|
|
553
555
|
class StringAttribute < AttributeBase
|
554
|
-
def initialize(property, type)
|
556
|
+
def initialize(property, type, container)
|
555
557
|
super
|
556
558
|
end
|
557
559
|
|
@@ -560,13 +562,13 @@ class TaskJuggler
|
|
560
562
|
end
|
561
563
|
|
562
564
|
def to_tjp
|
563
|
-
"#{@type.id} \"#{
|
565
|
+
"#{@type.id} \"#{get}\""
|
564
566
|
end
|
565
567
|
|
566
568
|
end
|
567
569
|
|
568
570
|
class SymbolAttribute < AttributeBase
|
569
|
-
def initialize(property, type)
|
571
|
+
def initialize(property, type, container)
|
570
572
|
super
|
571
573
|
end
|
572
574
|
|
@@ -576,7 +578,7 @@ class TaskJuggler
|
|
576
578
|
end
|
577
579
|
|
578
580
|
class TaskDepListAttribute < ListAttributeBase
|
579
|
-
def initialize(property, type)
|
581
|
+
def initialize(property, type, container)
|
580
582
|
super
|
581
583
|
end
|
582
584
|
|
@@ -586,19 +588,19 @@ class TaskJuggler
|
|
586
588
|
|
587
589
|
def to_s(query = nil)
|
588
590
|
out = []
|
589
|
-
|
591
|
+
get.each { |t, onEnd| out << t.fullId }
|
590
592
|
out.join(", ")
|
591
593
|
end
|
592
594
|
|
593
595
|
def to_tjp
|
594
596
|
out = []
|
595
|
-
|
597
|
+
get.each { |t, onEnd| out << t.fullId }
|
596
598
|
@type.id + " " + out.join(', ')
|
597
599
|
end
|
598
600
|
end
|
599
601
|
|
600
602
|
class TaskListAttribute < ListAttributeBase
|
601
|
-
def initialize(property, type)
|
603
|
+
def initialize(property, type, container)
|
602
604
|
super
|
603
605
|
end
|
604
606
|
|
@@ -608,19 +610,19 @@ class TaskJuggler
|
|
608
610
|
|
609
611
|
def to_s(query = nil)
|
610
612
|
out = []
|
611
|
-
|
613
|
+
get.each { |t| out << t.fullId }
|
612
614
|
out.join(", ")
|
613
615
|
end
|
614
616
|
|
615
617
|
def to_tjp
|
616
618
|
out = []
|
617
|
-
|
619
|
+
get.each { |t| out << t.fullId }
|
618
620
|
@type.id + " " + out.join(', ')
|
619
621
|
end
|
620
622
|
end
|
621
623
|
|
622
624
|
class WorkingHoursAttribute < AttributeBase
|
623
|
-
def initialize(property, type)
|
625
|
+
def initialize(property, type, container)
|
624
626
|
super
|
625
627
|
end
|
626
628
|
|
@@ -633,7 +635,7 @@ class TaskJuggler
|
|
633
635
|
str = ''
|
634
636
|
7.times do |day|
|
635
637
|
str += "workinghours #{dayNames[day]} "
|
636
|
-
whs =
|
638
|
+
whs = get.getWorkingHours(day)
|
637
639
|
if whs.empty?
|
638
640
|
str += "off"
|
639
641
|
str += "\n" if day < 6
|
data/lib/taskjuggler/Booking.rb
CHANGED
data/lib/taskjuggler/Charge.rb
CHANGED
@@ -33,7 +33,7 @@ class TaskJuggler
|
|
33
33
|
@scenarioIdx = scenarioIdx
|
34
34
|
end
|
35
35
|
|
36
|
-
# Compute the total charge for the
|
36
|
+
# Compute the total charge for the TimeInterval described by _period_.
|
37
37
|
def turnover(period)
|
38
38
|
case @mode
|
39
39
|
when :onStart
|
@@ -41,8 +41,8 @@ class TaskJuggler
|
|
41
41
|
when :onEnd
|
42
42
|
return period.contains?(@task['end', @scenarioIdx]) ? @amount : 0.0
|
43
43
|
else
|
44
|
-
iv = period.intersection(
|
45
|
-
|
44
|
+
iv = period.intersection(TimeInterval.new(@task['start', @scenarioIdx],
|
45
|
+
@task['end', @scenarioIdx]))
|
46
46
|
if iv
|
47
47
|
return (iv.duration / (60 * 60 * 24)) * @amount
|
48
48
|
else
|