taskjuggler 0.1.1 → 0.2.0
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/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
|
@@ -291,12 +291,24 @@
|
|
|
291
291
|
|
|
292
292
|
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
|
293
293
|
|
|
294
|
+
<li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
|
|
295
|
+
|
|
296
|
+
<li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
|
|
297
|
+
|
|
298
|
+
<li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
|
|
299
|
+
|
|
300
|
+
<li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
|
|
301
|
+
|
|
302
|
+
<li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
|
|
303
|
+
|
|
304
|
+
<li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
|
|
305
|
+
|
|
306
|
+
<li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
|
|
307
|
+
|
|
294
308
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
295
309
|
|
|
296
310
|
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
297
311
|
|
|
298
|
-
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
299
|
-
|
|
300
312
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
301
313
|
|
|
302
314
|
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
|
@@ -411,6 +423,8 @@
|
|
|
411
423
|
|
|
412
424
|
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
|
413
425
|
|
|
426
|
+
<li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
|
|
427
|
+
|
|
414
428
|
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
|
415
429
|
|
|
416
430
|
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
|
@@ -469,6 +483,8 @@
|
|
|
469
483
|
|
|
470
484
|
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
|
471
485
|
|
|
486
|
+
<li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
|
|
487
|
+
|
|
472
488
|
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
|
473
489
|
|
|
474
490
|
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
|
@@ -515,6 +531,10 @@
|
|
|
515
531
|
|
|
516
532
|
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
|
517
533
|
|
|
534
|
+
<li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
|
|
535
|
+
|
|
536
|
+
<li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
|
|
537
|
+
|
|
518
538
|
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
|
519
539
|
|
|
520
540
|
<li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
|
|
@@ -565,6 +585,10 @@
|
|
|
565
585
|
|
|
566
586
|
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
|
567
587
|
|
|
588
|
+
<li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
|
|
589
|
+
|
|
590
|
+
<li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
|
|
591
|
+
|
|
568
592
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
569
593
|
|
|
570
594
|
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
|
@@ -724,6 +748,21 @@ attribute like an URL that contains more details about the task.
|
|
|
724
748
|
|
|
725
749
|
|
|
726
750
|
|
|
751
|
+
</div>
|
|
752
|
+
</div>
|
|
753
|
+
|
|
754
|
+
<div id="sub-d-attribute-method" class="method-detail">
|
|
755
|
+
<a name="subId"></a>
|
|
756
|
+
|
|
757
|
+
<div class="method-heading attribute-method-heading">
|
|
758
|
+
<span class="method-name">subId</span><span
|
|
759
|
+
class="attribute-access-type">[R]</span>
|
|
760
|
+
</div>
|
|
761
|
+
|
|
762
|
+
<div class="method-description">
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
|
|
727
766
|
</div>
|
|
728
767
|
</div>
|
|
729
768
|
|
|
@@ -898,87 +937,89 @@ be nil and specified by a hierachical <em>id</em> (e. g.
|
|
|
898
937
|
44: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">propertySet</span>
|
|
899
938
|
45: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">project</span>
|
|
900
939
|
46: <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">parent</span>
|
|
901
|
-
47:
|
|
902
|
-
48: <span class="ruby-comment cmt">#
|
|
903
|
-
49: <span class="ruby-ivar">@
|
|
904
|
-
50:
|
|
905
|
-
51:
|
|
906
|
-
52:
|
|
907
|
-
53:
|
|
908
|
-
54: <span class="ruby-keyword kw">
|
|
909
|
-
55:
|
|
910
|
-
56:
|
|
911
|
-
57:
|
|
912
|
-
58:
|
|
913
|
-
59: <span class="ruby-keyword kw">
|
|
914
|
-
60:
|
|
915
|
-
61:
|
|
916
|
-
62:
|
|
917
|
-
63:
|
|
918
|
-
64:
|
|
919
|
-
65:
|
|
920
|
-
66:
|
|
921
|
-
67: <span class="ruby-keyword kw">
|
|
922
|
-
68:
|
|
923
|
-
69:
|
|
924
|
-
70:
|
|
925
|
-
71:
|
|
926
|
-
72:
|
|
927
|
-
73:
|
|
928
|
-
74:
|
|
929
|
-
75:
|
|
930
|
-
76:
|
|
931
|
-
77:
|
|
932
|
-
78:
|
|
933
|
-
79: <span class="ruby-
|
|
934
|
-
80:
|
|
935
|
-
81:
|
|
936
|
-
82: <span class="ruby-
|
|
937
|
-
83: <span class="ruby-keyword kw">
|
|
938
|
-
84: <span class="ruby-identifier">
|
|
939
|
-
85: <span class="ruby-
|
|
940
|
-
86: <span class="ruby-
|
|
941
|
-
87:
|
|
942
|
-
88:
|
|
943
|
-
89:
|
|
944
|
-
90:
|
|
945
|
-
91:
|
|
946
|
-
92:
|
|
947
|
-
93:
|
|
948
|
-
94:
|
|
949
|
-
95:
|
|
950
|
-
96:
|
|
951
|
-
97:
|
|
952
|
-
98:
|
|
953
|
-
99:
|
|
954
|
-
100:
|
|
955
|
-
101:
|
|
956
|
-
102:
|
|
957
|
-
103:
|
|
958
|
-
104: <span class="ruby-
|
|
959
|
-
105: <span class="ruby-
|
|
960
|
-
106:
|
|
961
|
-
107:
|
|
962
|
-
108: <span class="ruby-
|
|
963
|
-
109:
|
|
964
|
-
110: <span class="ruby-
|
|
965
|
-
111:
|
|
966
|
-
112: <span class="ruby-
|
|
967
|
-
113: <span class="ruby-ivar">@
|
|
968
|
-
114:
|
|
969
|
-
115: <span class="ruby-ivar">@
|
|
970
|
-
116: <span class="ruby-
|
|
971
|
-
117: <span class="ruby-comment cmt"># the
|
|
972
|
-
118: <span class="ruby-
|
|
973
|
-
119:
|
|
974
|
-
120: <span class="ruby-
|
|
975
|
-
121: <span class="ruby-comment cmt">#
|
|
976
|
-
122: <span class="ruby-comment cmt">#
|
|
977
|
-
123: <span class="ruby-ivar">@
|
|
978
|
-
124:
|
|
979
|
-
125: <span class="ruby-
|
|
980
|
-
126: <span class="ruby-
|
|
981
|
-
127:
|
|
940
|
+
47:
|
|
941
|
+
48: <span class="ruby-comment cmt"># Scenario specific data</span>
|
|
942
|
+
49: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
|
|
943
|
+
50:
|
|
944
|
+
51: <span class="ruby-comment cmt"># Attributes are created on-demand. We need to be careful that a pure</span>
|
|
945
|
+
52: <span class="ruby-comment cmt"># check for existance does not create them unecessarily.</span>
|
|
946
|
+
53: <span class="ruby-ivar">@attributes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hash</span>, <span class="ruby-identifier">attributeId</span><span class="ruby-operator">|</span>
|
|
947
|
+
54: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">aType</span> = <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>))
|
|
948
|
+
55: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>,
|
|
949
|
+
56: <span class="ruby-node">"Unknown attribute '#{attributeId}' requested for "</span> <span class="ruby-operator">+</span>
|
|
950
|
+
57: <span class="ruby-node">"#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'"</span>
|
|
951
|
+
58: <span class="ruby-keyword kw">end</span>
|
|
952
|
+
59: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aType</span>.<span class="ruby-identifier">scenarioSpecific</span>
|
|
953
|
+
60: <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">attributeId</span>] = <span class="ruby-identifier">aType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@propertySet</span>, <span class="ruby-identifier">aType</span>, <span class="ruby-keyword kw">self</span>)
|
|
954
|
+
61: <span class="ruby-keyword kw">else</span>
|
|
955
|
+
62: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"Attribute '#{attributeId}' is scenario specific"</span>
|
|
956
|
+
63: <span class="ruby-keyword kw">end</span>
|
|
957
|
+
64: <span class="ruby-keyword kw">end</span>
|
|
958
|
+
65: <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
|
|
959
|
+
66: <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hash</span>, <span class="ruby-identifier">attributeId</span><span class="ruby-operator">|</span>
|
|
960
|
+
67: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">aType</span> = <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>))
|
|
961
|
+
68: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>,
|
|
962
|
+
69: <span class="ruby-node">"Unknown attribute '#{attributeId}' requested for "</span> <span class="ruby-operator">+</span>
|
|
963
|
+
70: <span class="ruby-node">"#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'"</span>
|
|
964
|
+
71: <span class="ruby-keyword kw">end</span>
|
|
965
|
+
72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aType</span>.<span class="ruby-identifier">scenarioSpecific</span>
|
|
966
|
+
73: <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">attributeId</span>] = <span class="ruby-identifier">aType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@propertySet</span>, <span class="ruby-identifier">aType</span>,
|
|
967
|
+
74: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>])
|
|
968
|
+
75: <span class="ruby-keyword kw">else</span>
|
|
969
|
+
76: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>,
|
|
970
|
+
77: <span class="ruby-node">"Attribute '#{attributeId}' is not scenario specific"</span>
|
|
971
|
+
78: <span class="ruby-keyword kw">end</span>
|
|
972
|
+
79: <span class="ruby-keyword kw">end</span>
|
|
973
|
+
80: <span class="ruby-keyword kw">end</span>
|
|
974
|
+
81:
|
|
975
|
+
82: <span class="ruby-comment cmt"># If _id_ is still nil, we generate a unique id.</span>
|
|
976
|
+
83: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">id</span>
|
|
977
|
+
84: <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/TaskJuggler::/</span>, <span class="ruby-value str">''</span>)
|
|
978
|
+
85: <span class="ruby-identifier">id</span> = <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>
|
|
979
|
+
86: <span class="ruby-identifier">id</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">parent</span>
|
|
980
|
+
87: <span class="ruby-keyword kw">end</span>
|
|
981
|
+
88: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">id</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>)
|
|
982
|
+
89: <span class="ruby-identifier">parentId</span> = <span class="ruby-identifier">id</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
|
|
983
|
+
90: <span class="ruby-comment cmt"># Set parent to the parent property if it's still nil.</span>
|
|
984
|
+
91: <span class="ruby-ivar">@parent</span> = <span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parentId</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@parent</span>
|
|
985
|
+
92: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
|
|
986
|
+
93: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@parent</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>[<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">fullId</span>]
|
|
987
|
+
94: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Fatal Error: parent must be member of same property set"</span>
|
|
988
|
+
95: <span class="ruby-keyword kw">end</span>
|
|
989
|
+
96: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parentId</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">fullId</span>
|
|
990
|
+
97: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Fatal Error: parent (#{@parent.fullId}) and parent ID "</span> <span class="ruby-operator">+</span>
|
|
991
|
+
98: <span class="ruby-node">"(#{@parentId}) don't match"</span>
|
|
992
|
+
99: <span class="ruby-keyword kw">end</span>
|
|
993
|
+
100: <span class="ruby-keyword kw">end</span>
|
|
994
|
+
101: <span class="ruby-ivar">@subId</span> = <span class="ruby-identifier">id</span>[(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)<span class="ruby-operator">..</span> <span class="ruby-value">1</span>]
|
|
995
|
+
102: <span class="ruby-keyword kw">else</span>
|
|
996
|
+
103: <span class="ruby-ivar">@subId</span> = <span class="ruby-identifier">id</span>
|
|
997
|
+
104: <span class="ruby-keyword kw">end</span>
|
|
998
|
+
105: <span class="ruby-comment cmt"># The attribute 'id' is either the short ID or the full hierarchical ID.</span>
|
|
999
|
+
106: <span class="ruby-identifier">set</span>(<span class="ruby-value str">'id'</span>, <span class="ruby-identifier">fullId</span>)
|
|
1000
|
+
107:
|
|
1001
|
+
108: <span class="ruby-comment cmt"># The name of the property.</span>
|
|
1002
|
+
109: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
|
1003
|
+
110: <span class="ruby-identifier">set</span>(<span class="ruby-value str">'name'</span>, <span class="ruby-identifier">name</span>)
|
|
1004
|
+
111:
|
|
1005
|
+
112: <span class="ruby-ivar">@level</span> = <span class="ruby-value">1</span>
|
|
1006
|
+
113: <span class="ruby-ivar">@sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>
|
|
1007
|
+
114:
|
|
1008
|
+
115: <span class="ruby-ivar">@sequenceNo</span> = <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
1009
|
+
116: <span class="ruby-identifier">set</span>(<span class="ruby-value str">'seqno'</span>, <span class="ruby-ivar">@sequenceNo</span>)
|
|
1010
|
+
117: <span class="ruby-comment cmt"># This is a list of the real sub nodes of this PropertyTreeNode.</span>
|
|
1011
|
+
118: <span class="ruby-ivar">@children</span> = []
|
|
1012
|
+
119: <span class="ruby-comment cmt"># This is a list of the adopted sub nodes of this PropertyTreeNode.</span>
|
|
1013
|
+
120: <span class="ruby-ivar">@adoptees</span> = []
|
|
1014
|
+
121: <span class="ruby-comment cmt"># In case we have a parent object, we register this object as child of</span>
|
|
1015
|
+
122: <span class="ruby-comment cmt"># the parent.</span>
|
|
1016
|
+
123: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@parent</span>)
|
|
1017
|
+
124: <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">addChild</span>(<span class="ruby-keyword kw">self</span>)
|
|
1018
|
+
125: <span class="ruby-keyword kw">end</span>
|
|
1019
|
+
126: <span class="ruby-comment cmt"># This is a list of the PropertyTreeNode objects that have adopted this</span>
|
|
1020
|
+
127: <span class="ruby-comment cmt"># node.</span>
|
|
1021
|
+
128: <span class="ruby-ivar">@stepParents</span> = []
|
|
1022
|
+
129: <span class="ruby-keyword kw">end</span></pre>
|
|
982
1023
|
</div>
|
|
983
1024
|
|
|
984
1025
|
</div>
|
|
@@ -1019,10 +1060,11 @@ the <a href="Scenario.html">Scenario</a>.
|
|
|
1019
1060
|
<div class="method-source-code"
|
|
1020
1061
|
id="--source">
|
|
1021
1062
|
<pre>
|
|
1022
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1063
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 456</span>
|
|
1064
|
+
456: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
|
|
1065
|
+
457: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>]
|
|
1066
|
+
458: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">instance_variable_get</span>((<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">attributeId</span>).<span class="ruby-identifier">intern</span>)
|
|
1067
|
+
459: <span class="ruby-keyword kw">end</span></pre>
|
|
1026
1068
|
</div>
|
|
1027
1069
|
|
|
1028
1070
|
</div>
|
|
@@ -1058,40 +1100,40 @@ case the attribute does not exist, an exception is raised.
|
|
|
1058
1100
|
<div class="method-source-code"
|
|
1059
1101
|
id="--source">
|
|
1060
1102
|
<pre>
|
|
1061
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
423:
|
|
1071
|
-
424: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
|
|
1072
|
-
425: <span class="ruby-identifier">overwrite</span> = <span class="ruby-keyword kw">true</span>
|
|
1073
|
-
426: <span class="ruby-keyword kw">end</span>
|
|
1103
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 419</span>
|
|
1104
|
+
419: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>, <span class="ruby-identifier">value</span>)
|
|
1105
|
+
420: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenario</span>
|
|
1106
|
+
421: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">mode</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
1107
|
+
422: <span class="ruby-comment cmt"># If we get values in 'provided' mode, we copy them immedidately to</span>
|
|
1108
|
+
423: <span class="ruby-comment cmt"># all derived scenarios.</span>
|
|
1109
|
+
424: <span class="ruby-identifier">overwrite</span> = <span class="ruby-keyword kw">false</span>
|
|
1110
|
+
425: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenario</span>).<span class="ruby-identifier">all</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sc</span><span class="ruby-operator">|</span>
|
|
1111
|
+
426: <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">sc</span>)
|
|
1074
1112
|
427:
|
|
1075
|
-
428: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
1076
|
-
429: <span class="ruby-
|
|
1077
|
-
430: <span class="ruby-keyword kw">
|
|
1078
|
-
431:
|
|
1079
|
-
432: <span class="ruby-keyword kw">
|
|
1080
|
-
433:
|
|
1081
|
-
434:
|
|
1082
|
-
435:
|
|
1083
|
-
436:
|
|
1084
|
-
437:
|
|
1085
|
-
438:
|
|
1086
|
-
439:
|
|
1087
|
-
440: <span class="ruby-keyword kw">
|
|
1088
|
-
441:
|
|
1089
|
-
442:
|
|
1090
|
-
443:
|
|
1091
|
-
444:
|
|
1092
|
-
445: <span class="ruby-
|
|
1093
|
-
446:
|
|
1094
|
-
447:
|
|
1113
|
+
428: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
|
|
1114
|
+
429: <span class="ruby-identifier">overwrite</span> = <span class="ruby-keyword kw">true</span>
|
|
1115
|
+
430: <span class="ruby-keyword kw">end</span>
|
|
1116
|
+
431:
|
|
1117
|
+
432: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">scenario</span>
|
|
1118
|
+
433: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
1119
|
+
434: <span class="ruby-keyword kw">else</span>
|
|
1120
|
+
435: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">value</span>)
|
|
1121
|
+
436: <span class="ruby-keyword kw">end</span>
|
|
1122
|
+
437: <span class="ruby-keyword kw">end</span>
|
|
1123
|
+
438: <span class="ruby-comment cmt"># We only raise the overwrite error after all scenarios have been</span>
|
|
1124
|
+
439: <span class="ruby-comment cmt"># set. For some attributes the overwrite is actually allowed.</span>
|
|
1125
|
+
440: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">overwrite</span>
|
|
1126
|
+
441: <span class="ruby-identifier">raise</span> <span class="ruby-constant">AttributeOverwrite</span>,
|
|
1127
|
+
442: <span class="ruby-value str">"Overwriting a previously provided value for attribute "</span> <span class="ruby-operator">+</span>
|
|
1128
|
+
443: <span class="ruby-node">"#{attributeId}"</span>
|
|
1129
|
+
444: <span class="ruby-keyword kw">end</span>
|
|
1130
|
+
445: <span class="ruby-keyword kw">else</span>
|
|
1131
|
+
446: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
1132
|
+
447: <span class="ruby-keyword kw">end</span>
|
|
1133
|
+
448: <span class="ruby-keyword kw">else</span>
|
|
1134
|
+
449: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
1135
|
+
450: <span class="ruby-keyword kw">end</span>
|
|
1136
|
+
451: <span class="ruby-keyword kw">end</span></pre>
|
|
1095
1137
|
</div>
|
|
1096
1138
|
|
|
1097
1139
|
</div>
|
|
@@ -1124,13 +1166,13 @@ Add <em>child</em> node as child to this node.
|
|
|
1124
1166
|
<div class="method-source-code"
|
|
1125
1167
|
id="add-hild-source">
|
|
1126
1168
|
<pre>
|
|
1127
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1169
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 337</span>
|
|
1170
|
+
337: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
|
|
1171
|
+
338: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@propertySet</span>
|
|
1172
|
+
339: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Child nodes must belong to the same property set as the parent"</span>
|
|
1173
|
+
340: <span class="ruby-keyword kw">end</span>
|
|
1174
|
+
341: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
|
|
1175
|
+
342: <span class="ruby-keyword kw">end</span></pre>
|
|
1134
1176
|
</div>
|
|
1135
1177
|
|
|
1136
1178
|
</div>
|
|
@@ -1164,39 +1206,39 @@ with the child.
|
|
|
1164
1206
|
<div class="method-source-code"
|
|
1165
1207
|
id="adopt-source">
|
|
1166
1208
|
<pre>
|
|
1167
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1209
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 140</span>
|
|
1210
|
+
140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">adopt</span>(<span class="ruby-identifier">property</span>)
|
|
1211
|
+
141: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@adoptees</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">property</span>)
|
|
1212
|
+
142:
|
|
1213
|
+
143: <span class="ruby-comment cmt"># The adopted node and the adopting node must not have any common</span>
|
|
1214
|
+
144: <span class="ruby-comment cmt"># ancestors.</span>
|
|
1215
|
+
145: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">root</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">root</span>
|
|
1216
|
+
146: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'adopt_common_root'</span>,
|
|
1217
|
+
147: <span class="ruby-node">"The adoptee #{property.fullId} and the parent #{fullId} "</span> <span class="ruby-operator">+</span>
|
|
1218
|
+
148: <span class="ruby-value str">"may not share common ancestors."</span>)
|
|
1219
|
+
149: <span class="ruby-keyword kw">end</span>
|
|
1220
|
+
150:
|
|
1221
|
+
151: <span class="ruby-comment cmt"># The adopted trees for this node must not overlap.</span>
|
|
1222
|
+
152: <span class="ruby-ivar">@adoptees</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">adoptee</span><span class="ruby-operator">|</span>
|
|
1223
|
+
153: <span class="ruby-comment cmt"># Check if the to be adopted node is an ancestor of an already adopted</span>
|
|
1224
|
+
154: <span class="ruby-comment cmt"># node.</span>
|
|
1225
|
+
155: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">adoptee</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">property</span>)
|
|
1226
|
+
156: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'adopt_duplicate_child'</span>,
|
|
1227
|
+
157: <span class="ruby-node">"The child #{adoptee.fullId} of #{property.fullId} "</span> <span class="ruby-operator">+</span>
|
|
1228
|
+
158: <span class="ruby-node">"has already been adopted by #{fullId}."</span>)
|
|
1229
|
+
159: <span class="ruby-keyword kw">end</span>
|
|
1230
|
+
160: <span class="ruby-comment cmt"># Check if the already adopted nodes are an ancestor of the to be</span>
|
|
1231
|
+
161: <span class="ruby-comment cmt"># adopted node.</span>
|
|
1232
|
+
162: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">adoptee</span>)
|
|
1233
|
+
163: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'adopt_duplicate_parent'</span>,
|
|
1234
|
+
164: <span class="ruby-node">"The parent #{adoptee.fullId} of #{property.fullId} "</span> <span class="ruby-operator">+</span>
|
|
1235
|
+
165: <span class="ruby-node">"has already been adopted by #{fullId}."</span>)
|
|
1236
|
+
166: <span class="ruby-keyword kw">end</span>
|
|
1237
|
+
167: <span class="ruby-keyword kw">end</span>
|
|
1238
|
+
168:
|
|
1239
|
+
169: <span class="ruby-ivar">@adoptees</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">property</span>
|
|
1240
|
+
170: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getAdopted</span>(<span class="ruby-keyword kw">self</span>)
|
|
1241
|
+
171: <span class="ruby-keyword kw">end</span></pre>
|
|
1200
1242
|
</div>
|
|
1201
1243
|
|
|
1202
1244
|
</div>
|
|
@@ -1229,14 +1271,14 @@ Returns a list of this node and all transient sub nodes.
|
|
|
1229
1271
|
<div class="method-source-code"
|
|
1230
1272
|
id="all-source">
|
|
1231
1273
|
<pre>
|
|
1232
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1274
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 259</span>
|
|
1275
|
+
259: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
|
|
1276
|
+
260: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
|
|
1277
|
+
261: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
|
1278
|
+
262: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">all</span>)
|
|
1279
|
+
263: <span class="ruby-keyword kw">end</span>
|
|
1280
|
+
264: <span class="ruby-identifier">res</span>
|
|
1281
|
+
265: <span class="ruby-keyword kw">end</span></pre>
|
|
1240
1282
|
</div>
|
|
1241
1283
|
|
|
1242
1284
|
</div>
|
|
@@ -1269,18 +1311,18 @@ Return a list of all leaf nodes of this node.
|
|
|
1269
1311
|
<div class="method-source-code"
|
|
1270
1312
|
id="all-eaves-source">
|
|
1271
1313
|
<pre>
|
|
1272
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1314
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 268</span>
|
|
1315
|
+
268: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>(<span class="ruby-identifier">withoutSelf</span> = <span class="ruby-keyword kw">false</span>)
|
|
1316
|
+
269: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
|
|
1317
|
+
270: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">withoutSelf</span> <span class="ruby-operator">?</span> [] <span class="ruby-operator">:</span> [ <span class="ruby-keyword kw">self</span> ]
|
|
1318
|
+
271: <span class="ruby-keyword kw">else</span>
|
|
1319
|
+
272: <span class="ruby-identifier">res</span> = []
|
|
1320
|
+
273: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
|
1321
|
+
274: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
|
|
1322
|
+
275: <span class="ruby-keyword kw">end</span>
|
|
1323
|
+
276: <span class="ruby-keyword kw">end</span>
|
|
1324
|
+
277: <span class="ruby-identifier">res</span>
|
|
1325
|
+
278: <span class="ruby-keyword kw">end</span></pre>
|
|
1284
1326
|
</div>
|
|
1285
1327
|
|
|
1286
1328
|
</div>
|
|
@@ -1313,15 +1355,15 @@ Return a list with all parent nodes of this node.
|
|
|
1313
1355
|
<div class="method-source-code"
|
|
1314
1356
|
id="ancestors-source">
|
|
1315
1357
|
<pre>
|
|
1316
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1358
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 364</span>
|
|
1359
|
+
364: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ancestors</span>
|
|
1360
|
+
365: <span class="ruby-identifier">nodes</span> = []
|
|
1361
|
+
366: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
|
|
1362
|
+
367: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
|
|
1363
|
+
368: <span class="ruby-identifier">nodes</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>)
|
|
1364
|
+
369: <span class="ruby-keyword kw">end</span>
|
|
1365
|
+
370: <span class="ruby-identifier">nodes</span>
|
|
1366
|
+
371: <span class="ruby-keyword kw">end</span></pre>
|
|
1325
1367
|
</div>
|
|
1326
1368
|
|
|
1327
1369
|
</div>
|
|
@@ -1354,10 +1396,10 @@ Return the type of the attribute with ID <em>attributeId</em>.
|
|
|
1354
1396
|
<div class="method-source-code"
|
|
1355
1397
|
id="attribute-efinition-source">
|
|
1356
1398
|
<pre>
|
|
1357
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1399
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 383</span>
|
|
1400
|
+
383: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
|
|
1401
|
+
384: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
|
|
1402
|
+
385: <span class="ruby-keyword kw">end</span></pre>
|
|
1361
1403
|
</div>
|
|
1362
1404
|
|
|
1363
1405
|
</div>
|
|
@@ -1391,10 +1433,10 @@ Array that can be used with restoreAttributes().
|
|
|
1391
1433
|
<div class="method-source-code"
|
|
1392
1434
|
id="backup-ttributes-source">
|
|
1393
1435
|
<pre>
|
|
1394
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1436
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 195</span>
|
|
1437
|
+
195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backupAttributes</span>
|
|
1438
|
+
196: [ <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">clone</span>, <span class="ruby-ivar">@scenarioAttributes</span>.<span class="ruby-identifier">clone</span> ]
|
|
1439
|
+
197: <span class="ruby-keyword kw">end</span></pre>
|
|
1398
1440
|
</div>
|
|
1399
1441
|
|
|
1400
1442
|
</div>
|
|
@@ -1425,51 +1467,51 @@ Array that can be used with restoreAttributes().
|
|
|
1425
1467
|
<div class="method-source-code"
|
|
1426
1468
|
id="check-ails-nd-arnings-source">
|
|
1427
1469
|
<pre>
|
|
1428
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1470
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 503</span>
|
|
1471
|
+
503: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkFailsAndWarnings</span>
|
|
1472
|
+
504: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value str">'fail'</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value str">'warn'</span>)
|
|
1473
|
+
505: <span class="ruby-identifier">propertyType</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-keyword kw">self</span>
|
|
1474
|
+
506: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Task</span>
|
|
1475
|
+
507: <span class="ruby-value str">'task'</span>
|
|
1476
|
+
508: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Resource</span>
|
|
1477
|
+
509: <span class="ruby-value str">'resource'</span>
|
|
1478
|
+
510: <span class="ruby-keyword kw">else</span>
|
|
1479
|
+
511: <span class="ruby-value str">'unknown'</span>
|
|
1480
|
+
512: <span class="ruby-keyword kw">end</span>
|
|
1481
|
+
513: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>,
|
|
1482
|
+
514: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>,
|
|
1483
|
+
515: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
1484
|
+
516: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>],
|
|
1485
|
+
517: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>],
|
|
1486
|
+
518: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">></span> <span class="ruby-value">:days</span>,
|
|
1487
|
+
519: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'numberFormat'</span>],
|
|
1488
|
+
520: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
1489
|
+
521: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'currencyFormat'</span>] }
|
|
1490
|
+
522: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
|
1491
|
+
523: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'fail'</span>]
|
|
1492
|
+
524: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'fail'</span>].<span class="ruby-identifier">get</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expr</span><span class="ruby-operator">|</span>
|
|
1493
|
+
525: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
|
|
1494
|
+
526: <span class="ruby-identifier">error</span>(<span class="ruby-node">"#{propertyType}_fail_check"</span>,
|
|
1495
|
+
527: <span class="ruby-node">"User defined check failed for #{propertyType} "</span> <span class="ruby-operator">+</span>
|
|
1496
|
+
528: <span class="ruby-node">"#{fullId} \n"</span> <span class="ruby-operator">+</span>
|
|
1497
|
+
529: <span class="ruby-node">"Condition: #{expr.to_s}\n"</span> <span class="ruby-operator">+</span>
|
|
1498
|
+
530: <span class="ruby-node">"Result: #{expr.to_s(query)}"</span>)
|
|
1499
|
+
531: <span class="ruby-keyword kw">end</span>
|
|
1500
|
+
532: <span class="ruby-keyword kw">end</span>
|
|
1501
|
+
533: <span class="ruby-keyword kw">end</span>
|
|
1502
|
+
534: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'warn'</span>]
|
|
1503
|
+
535: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'warn'</span>].<span class="ruby-identifier">get</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">expr</span><span class="ruby-operator">|</span>
|
|
1504
|
+
536: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">query</span>)
|
|
1505
|
+
537: <span class="ruby-identifier">warning</span>(<span class="ruby-node">"#{propertyType}_warn_check"</span>,
|
|
1506
|
+
538: <span class="ruby-node">"User defined warning triggered for #{propertyType} "</span> <span class="ruby-operator">+</span>
|
|
1507
|
+
539: <span class="ruby-node">"#{fullId} \n"</span> <span class="ruby-operator">+</span>
|
|
1508
|
+
540: <span class="ruby-node">"Condition: #{expr.to_s}\n"</span> <span class="ruby-operator">+</span>
|
|
1509
|
+
541: <span class="ruby-node">"Result: #{expr.to_s(query)}"</span>)
|
|
1510
|
+
542: <span class="ruby-keyword kw">end</span>
|
|
1511
|
+
543: <span class="ruby-keyword kw">end</span>
|
|
1512
|
+
544: <span class="ruby-keyword kw">end</span>
|
|
1513
|
+
545: <span class="ruby-keyword kw">end</span>
|
|
1514
|
+
546: <span class="ruby-keyword kw">end</span></pre>
|
|
1473
1515
|
</div>
|
|
1474
1516
|
|
|
1475
1517
|
</div>
|
|
@@ -1502,10 +1544,10 @@ Return true if the node has children.
|
|
|
1502
1544
|
<div class="method-source-code"
|
|
1503
1545
|
id="container--source">
|
|
1504
1546
|
<pre>
|
|
1505
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1547
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 359</span>
|
|
1548
|
+
359: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
|
|
1549
|
+
360: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@adoptees</span>.<span class="ruby-identifier">empty?</span>
|
|
1550
|
+
361: <span class="ruby-keyword kw">end</span></pre>
|
|
1509
1551
|
</div>
|
|
1510
1552
|
|
|
1511
1553
|
</div>
|
|
@@ -1541,10 +1583,10 @@ these references should remain references.
|
|
|
1541
1583
|
<div class="method-source-code"
|
|
1542
1584
|
id="deep-clone-source">
|
|
1543
1585
|
<pre>
|
|
1544
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1586
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 134</span>
|
|
1587
|
+
134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
1588
|
+
135: <span class="ruby-keyword kw">self</span>
|
|
1589
|
+
136: <span class="ruby-keyword kw">end</span></pre>
|
|
1548
1590
|
</div>
|
|
1549
1591
|
|
|
1550
1592
|
</div>
|
|
@@ -1575,10 +1617,10 @@ these references should remain references.
|
|
|
1575
1617
|
<div class="method-source-code"
|
|
1576
1618
|
id="error-source">
|
|
1577
1619
|
<pre>
|
|
1578
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1620
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 648</span>
|
|
1621
|
+
648: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>)
|
|
1622
|
+
649: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-ivar">@sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">nil</span>)
|
|
1623
|
+
650: <span class="ruby-keyword kw">end</span></pre>
|
|
1582
1624
|
</div>
|
|
1583
1625
|
|
|
1584
1626
|
</div>
|
|
@@ -1614,17 +1656,17 @@ node to this node, separating the IDs by a dot.
|
|
|
1614
1656
|
<div class="method-source-code"
|
|
1615
1657
|
id="full-d-source">
|
|
1616
1658
|
<pre>
|
|
1617
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1659
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 283</span>
|
|
1660
|
+
283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
|
|
1661
|
+
284: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@subId</span>
|
|
1662
|
+
285: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
|
|
1663
|
+
286: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
|
|
1664
|
+
287: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
|
|
1665
|
+
288: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">subId</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"."</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">res</span>
|
|
1666
|
+
289: <span class="ruby-keyword kw">end</span>
|
|
1667
|
+
290: <span class="ruby-keyword kw">end</span>
|
|
1668
|
+
291: <span class="ruby-identifier">res</span>
|
|
1669
|
+
292: <span class="ruby-keyword kw">end</span></pre>
|
|
1628
1670
|
</div>
|
|
1629
1671
|
|
|
1630
1672
|
</div>
|
|
@@ -1659,10 +1701,12 @@ case the attribute does not exist, an exception is raised.
|
|
|
1659
1701
|
<div class="method-source-code"
|
|
1660
1702
|
id="get-source">
|
|
1661
1703
|
<pre>
|
|
1662
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1704
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 390</span>
|
|
1705
|
+
390: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
|
|
1706
|
+
391: <span class="ruby-comment cmt"># Make sure the attribute gets created if it doesn't exist already.</span>
|
|
1707
|
+
392: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
|
|
1708
|
+
393: <span class="ruby-identifier">instance_variable_get</span>((<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">attributeId</span>).<span class="ruby-identifier">intern</span>)
|
|
1709
|
+
394: <span class="ruby-keyword kw">end</span></pre>
|
|
1666
1710
|
</div>
|
|
1667
1711
|
|
|
1668
1712
|
</div>
|
|
@@ -1699,14 +1743,14 @@ exception is raised.
|
|
|
1699
1743
|
<div class="method-source-code"
|
|
1700
1744
|
id="get-ttribute-source">
|
|
1701
1745
|
<pre>
|
|
1702
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1746
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 401</span>
|
|
1747
|
+
401: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttribute</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1748
|
+
402: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
1749
|
+
403: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
|
|
1750
|
+
404: <span class="ruby-keyword kw">else</span>
|
|
1751
|
+
405: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
|
|
1752
|
+
406: <span class="ruby-keyword kw">end</span>
|
|
1753
|
+
407: <span class="ruby-keyword kw">end</span></pre>
|
|
1710
1754
|
</div>
|
|
1711
1755
|
|
|
1712
1756
|
</div>
|
|
@@ -1741,18 +1785,18 @@ with an index for each level from the root to this node.
|
|
|
1741
1785
|
<div class="method-source-code"
|
|
1742
1786
|
id="get-ndicies-source">
|
|
1743
1787
|
<pre>
|
|
1744
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1788
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 311</span>
|
|
1789
|
+
311: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getBSIndicies</span>
|
|
1790
|
+
312: <span class="ruby-identifier">idcs</span> = []
|
|
1791
|
+
313: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
|
|
1792
|
+
314: <span class="ruby-keyword kw">begin</span>
|
|
1793
|
+
315: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
|
|
1794
|
+
316: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">parent</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
|
|
1795
|
+
317: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
|
|
1796
|
+
318: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
|
|
1797
|
+
319: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
|
|
1798
|
+
320: <span class="ruby-identifier">idcs</span>
|
|
1799
|
+
321: <span class="ruby-keyword kw">end</span></pre>
|
|
1756
1800
|
</div>
|
|
1757
1801
|
|
|
1758
1802
|
</div>
|
|
@@ -1787,17 +1831,17 @@ of Fixnums.
|
|
|
1787
1831
|
<div class="method-source-code"
|
|
1788
1832
|
id="get-ndicies-source">
|
|
1789
1833
|
<pre>
|
|
1790
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1834
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 325</span>
|
|
1835
|
+
325: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getIndicies</span>
|
|
1836
|
+
326: <span class="ruby-identifier">idcs</span> = []
|
|
1837
|
+
327: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
|
|
1838
|
+
328: <span class="ruby-keyword kw">begin</span>
|
|
1839
|
+
329: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
|
|
1840
|
+
330: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">p</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'index'</span>))
|
|
1841
|
+
331: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
|
|
1842
|
+
332: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
|
|
1843
|
+
333: <span class="ruby-identifier">idcs</span>
|
|
1844
|
+
334: <span class="ruby-keyword kw">end</span></pre>
|
|
1801
1845
|
</div>
|
|
1802
1846
|
|
|
1803
1847
|
</div>
|
|
@@ -1828,10 +1872,10 @@ of Fixnums.
|
|
|
1828
1872
|
<div class="method-source-code"
|
|
1829
1873
|
id="info-source">
|
|
1830
1874
|
<pre>
|
|
1831
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1875
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 656</span>
|
|
1876
|
+
656: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>)
|
|
1877
|
+
657: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">info</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-ivar">@sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">nil</span>)
|
|
1878
|
+
658: <span class="ruby-keyword kw">end</span></pre>
|
|
1835
1879
|
</div>
|
|
1836
1880
|
|
|
1837
1881
|
</div>
|
|
@@ -1865,53 +1909,53 @@ href="Project.html">Project</a>.
|
|
|
1865
1909
|
<div class="method-source-code"
|
|
1866
1910
|
id="inherit-ttributes-source">
|
|
1867
1911
|
<pre>
|
|
1868
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1912
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 211</span>
|
|
1913
|
+
211: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
|
|
1914
|
+
212: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
|
|
1915
|
+
213: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
|
|
1916
|
+
214: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
|
|
1917
|
+
215:
|
|
1918
|
+
216: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
|
|
1919
|
+
217: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
|
|
1920
|
+
218: <span class="ruby-comment cmt"># Inherit values from parent property</span>
|
|
1921
|
+
219: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">aId</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">aId</span>)
|
|
1922
|
+
220: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">aId</span>))
|
|
1923
|
+
221: <span class="ruby-keyword kw">end</span>
|
|
1924
|
+
222: <span class="ruby-keyword kw">else</span>
|
|
1925
|
+
223: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
|
|
1926
|
+
224: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
|
|
1927
|
+
225: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
|
|
1928
|
+
226: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>])
|
|
1929
|
+
227: <span class="ruby-keyword kw">end</span>
|
|
1930
|
+
228: <span class="ruby-keyword kw">end</span>
|
|
1931
|
+
229: <span class="ruby-keyword kw">end</span>
|
|
1932
|
+
230: <span class="ruby-keyword kw">end</span>
|
|
1933
|
+
231:
|
|
1934
|
+
232: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
|
|
1935
|
+
233: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
|
|
1936
|
+
234: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
|
|
1937
|
+
235:
|
|
1938
|
+
236: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
|
|
1939
|
+
237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
|
|
1940
|
+
238: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
|
|
1941
|
+
239: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
|
|
1942
|
+
240: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
|
|
1943
|
+
241: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
|
|
1944
|
+
242: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
|
|
1945
|
+
243: <span class="ruby-keyword kw">end</span>
|
|
1946
|
+
244: <span class="ruby-keyword kw">else</span>
|
|
1947
|
+
245: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
|
|
1948
|
+
246: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
|
|
1949
|
+
247: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&&</span>
|
|
1950
|
+
248: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
|
|
1951
|
+
249: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
|
|
1952
|
+
250: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
|
|
1953
|
+
251: <span class="ruby-keyword kw">end</span>
|
|
1954
|
+
252: <span class="ruby-keyword kw">end</span>
|
|
1955
|
+
253: <span class="ruby-keyword kw">end</span>
|
|
1956
|
+
254: <span class="ruby-keyword kw">end</span>
|
|
1957
|
+
255: <span class="ruby-keyword kw">end</span>
|
|
1958
|
+
256: <span class="ruby-keyword kw">end</span></pre>
|
|
1915
1959
|
</div>
|
|
1916
1960
|
|
|
1917
1961
|
</div>
|
|
@@ -1946,18 +1990,18 @@ scenario.
|
|
|
1946
1990
|
<div class="method-source-code"
|
|
1947
1991
|
id="inherited-source">
|
|
1948
1992
|
<pre>
|
|
1949
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1993
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 477</span>
|
|
1994
|
+
477: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1995
|
+
478: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
1996
|
+
479: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
1997
|
+
480: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
1998
|
+
481: <span class="ruby-keyword kw">end</span>
|
|
1999
|
+
482: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
|
|
2000
|
+
483: <span class="ruby-keyword kw">else</span>
|
|
2001
|
+
484: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
2002
|
+
485: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
|
|
2003
|
+
486: <span class="ruby-keyword kw">end</span>
|
|
2004
|
+
487: <span class="ruby-keyword kw">end</span></pre>
|
|
1961
2005
|
</div>
|
|
1962
2006
|
|
|
1963
2007
|
</div>
|
|
@@ -1991,14 +2035,14 @@ Find out if this property is a direct or indirect child of
|
|
|
1991
2035
|
<div class="method-source-code"
|
|
1992
2036
|
id="is-hild-f--source">
|
|
1993
2037
|
<pre>
|
|
1994
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2038
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 345</span>
|
|
2039
|
+
345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
|
|
2040
|
+
346: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
|
|
2041
|
+
347: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
|
|
2042
|
+
348: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ancestor</span>)
|
|
2043
|
+
349: <span class="ruby-keyword kw">end</span>
|
|
2044
|
+
350: <span class="ruby-keyword kw">false</span>
|
|
2045
|
+
351: <span class="ruby-keyword kw">end</span></pre>
|
|
2002
2046
|
</div>
|
|
2003
2047
|
|
|
2004
2048
|
</div>
|
|
@@ -2031,10 +2075,10 @@ Return a list of all children including adopted kids.
|
|
|
2031
2075
|
<div class="method-source-code"
|
|
2032
2076
|
id="kids-source">
|
|
2033
2077
|
<pre>
|
|
2034
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2078
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 184</span>
|
|
2079
|
+
184: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">kids</span>
|
|
2080
|
+
185: <span class="ruby-ivar">@children</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@adoptees</span>
|
|
2081
|
+
186: <span class="ruby-keyword kw">end</span></pre>
|
|
2038
2082
|
</div>
|
|
2039
2083
|
|
|
2040
2084
|
</div>
|
|
@@ -2067,10 +2111,10 @@ Return true if the node is a leaf node (has no children).
|
|
|
2067
2111
|
<div class="method-source-code"
|
|
2068
2112
|
id="leaf--source">
|
|
2069
2113
|
<pre>
|
|
2070
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2114
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 354</span>
|
|
2115
|
+
354: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
|
|
2116
|
+
355: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@adoptees</span>.<span class="ruby-identifier">empty?</span>
|
|
2117
|
+
356: <span class="ruby-keyword kw">end</span></pre>
|
|
2074
2118
|
</div>
|
|
2075
2119
|
|
|
2076
2120
|
</div>
|
|
@@ -2105,17 +2149,17 @@ have to be calculated each time the function is called.
|
|
|
2105
2149
|
<div class="method-source-code"
|
|
2106
2150
|
id="level-source">
|
|
2107
2151
|
<pre>
|
|
2108
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2152
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 297</span>
|
|
2153
|
+
297: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
|
|
2154
|
+
298: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@level</span> <span class="ruby-operator">>=</span> <span class="ruby-value">0</span>
|
|
2155
|
+
299:
|
|
2156
|
+
300: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
|
|
2157
|
+
301: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
|
|
2158
|
+
302: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
|
|
2159
|
+
303: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2160
|
+
304: <span class="ruby-keyword kw">end</span>
|
|
2161
|
+
305: <span class="ruby-ivar">@level</span>
|
|
2162
|
+
306: <span class="ruby-keyword kw">end</span></pre>
|
|
2119
2163
|
</div>
|
|
2120
2164
|
|
|
2121
2165
|
</div>
|
|
@@ -2148,10 +2192,10 @@ Return the index of the child <em>node</em>.
|
|
|
2148
2192
|
<div class="method-source-code"
|
|
2149
2193
|
id="level-eq-o-source">
|
|
2150
2194
|
<pre>
|
|
2151
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2195
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 206</span>
|
|
2196
|
+
206: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
|
|
2197
|
+
207: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">node</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
2198
|
+
208: <span class="ruby-keyword kw">end</span></pre>
|
|
2155
2199
|
</div>
|
|
2156
2200
|
|
|
2157
2201
|
</div>
|
|
@@ -2188,10 +2232,10 @@ href="Scenario.html">Scenario</a> class.
|
|
|
2188
2232
|
<div class="method-source-code"
|
|
2189
2233
|
id="method-missing-source">
|
|
2190
2234
|
<pre>
|
|
2191
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2235
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 644</span>
|
|
2236
|
+
644: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, *<span class="ruby-identifier">args</span>)
|
|
2237
|
+
645: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">method</span>(<span class="ruby-identifier">func</span>).<span class="ruby-identifier">call</span>(*<span class="ruby-identifier">args</span>)
|
|
2238
|
+
646: <span class="ruby-keyword kw">end</span></pre>
|
|
2195
2239
|
</div>
|
|
2196
2240
|
|
|
2197
2241
|
</div>
|
|
@@ -2222,20 +2266,20 @@ href="Scenario.html">Scenario</a> class.
|
|
|
2222
2266
|
<div class="method-source-code"
|
|
2223
2267
|
id="modified--source">
|
|
2224
2268
|
<pre>
|
|
2225
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2269
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 489</span>
|
|
2270
|
+
489: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modified?</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
2271
|
+
490: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
2272
|
+
491: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
2273
|
+
492: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
2274
|
+
493: <span class="ruby-keyword kw">end</span>
|
|
2275
|
+
494:
|
|
2276
|
+
495: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span>
|
|
2277
|
+
496: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
|
|
2278
|
+
497: <span class="ruby-keyword kw">else</span>
|
|
2279
|
+
498: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
2280
|
+
499: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
|
|
2281
|
+
500: <span class="ruby-keyword kw">end</span>
|
|
2282
|
+
501: <span class="ruby-keyword kw">end</span></pre>
|
|
2239
2283
|
</div>
|
|
2240
2284
|
|
|
2241
2285
|
</div>
|
|
@@ -2268,10 +2312,10 @@ Return a list of all parents including step parents.
|
|
|
2268
2312
|
<div class="method-source-code"
|
|
2269
2313
|
id="parents-source">
|
|
2270
2314
|
<pre>
|
|
2271
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2315
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 189</span>
|
|
2316
|
+
189: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parents</span>
|
|
2317
|
+
190: (<span class="ruby-ivar">@parent</span> <span class="ruby-operator">?</span> [ <span class="ruby-ivar">@parent</span> ] <span class="ruby-operator">:</span> []) <span class="ruby-operator">+</span> <span class="ruby-ivar">@stepParents</span>
|
|
2318
|
+
191: <span class="ruby-keyword kw">end</span></pre>
|
|
2275
2319
|
</div>
|
|
2276
2320
|
|
|
2277
2321
|
</div>
|
|
@@ -2305,18 +2349,18 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2305
2349
|
<div class="method-source-code"
|
|
2306
2350
|
id="provided-source">
|
|
2307
2351
|
<pre>
|
|
2308
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2352
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 463</span>
|
|
2353
|
+
463: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
2354
|
+
464: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
2355
|
+
465: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
2356
|
+
466: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
2357
|
+
467: <span class="ruby-keyword kw">end</span>
|
|
2358
|
+
468: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
|
|
2359
|
+
469: <span class="ruby-keyword kw">else</span>
|
|
2360
|
+
470: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
2361
|
+
471: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
|
|
2362
|
+
472: <span class="ruby-keyword kw">end</span>
|
|
2363
|
+
473: <span class="ruby-keyword kw">end</span></pre>
|
|
2320
2364
|
</div>
|
|
2321
2365
|
|
|
2322
2366
|
</div>
|
|
@@ -2347,23 +2391,23 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2347
2391
|
<div class="method-source-code"
|
|
2348
2392
|
id="query-alert-source">
|
|
2349
2393
|
<pre>
|
|
2350
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2394
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 548</span>
|
|
2395
|
+
548: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alert</span>(<span class="ruby-identifier">query</span>)
|
|
2396
|
+
549: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
|
|
2397
|
+
550: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">alert</span> =
|
|
2398
|
+
551: <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>)
|
|
2399
|
+
552: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">colorName</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">alertLevelName</span>(<span class="ruby-identifier">alert</span>)
|
|
2400
|
+
553: <span class="ruby-identifier">rText</span> = <span class="ruby-node">"<fcol:#{colorName.downcase}>#{colorName}</fcol>"</span>
|
|
2401
|
+
554: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">rti</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rText</span>, <span class="ruby-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>),
|
|
2402
|
+
555: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>).
|
|
2403
|
+
556: <span class="ruby-identifier">generateIntermediateFormat</span>)
|
|
2404
|
+
557: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-value str">'ptn_journal'</span>,
|
|
2405
|
+
558: <span class="ruby-value str">"Syntax error in journal message"</span>)
|
|
2406
|
+
559: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
2407
|
+
560: <span class="ruby-keyword kw">end</span>
|
|
2408
|
+
561: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">blockMode</span> = <span class="ruby-keyword kw">false</span>
|
|
2409
|
+
562: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rti</span>
|
|
2410
|
+
563: <span class="ruby-keyword kw">end</span></pre>
|
|
2367
2411
|
</div>
|
|
2368
2412
|
|
|
2369
2413
|
</div>
|
|
@@ -2394,13 +2438,13 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2394
2438
|
<div class="method-source-code"
|
|
2395
2439
|
id="query-alertmessages-source">
|
|
2396
2440
|
<pre>
|
|
2397
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2441
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 565</span>
|
|
2442
|
+
565: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertmessages</span>(<span class="ruby-identifier">query</span>)
|
|
2443
|
+
566: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">alertEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">1</span>,
|
|
2444
|
+
567: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>,
|
|
2445
|
+
568: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>),
|
|
2446
|
+
569: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
|
|
2447
|
+
570: <span class="ruby-keyword kw">end</span></pre>
|
|
2404
2448
|
</div>
|
|
2405
2449
|
|
|
2406
2450
|
</div>
|
|
@@ -2431,13 +2475,13 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2431
2475
|
<div class="method-source-code"
|
|
2432
2476
|
id="query-alertsummaries-source">
|
|
2433
2477
|
<pre>
|
|
2434
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2478
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 572</span>
|
|
2479
|
+
572: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertsummaries</span>(<span class="ruby-identifier">query</span>)
|
|
2480
|
+
573: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">alertEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">1</span>,
|
|
2481
|
+
574: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>,
|
|
2482
|
+
575: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>),
|
|
2483
|
+
576: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
|
|
2484
|
+
577: <span class="ruby-keyword kw">end</span></pre>
|
|
2441
2485
|
</div>
|
|
2442
2486
|
|
|
2443
2487
|
</div>
|
|
@@ -2468,22 +2512,22 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2468
2512
|
<div class="method-source-code"
|
|
2469
2513
|
id="query-alerttrend-source">
|
|
2470
2514
|
<pre>
|
|
2471
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2515
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 593</span>
|
|
2516
|
+
593: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alerttrend</span>(<span class="ruby-identifier">query</span>)
|
|
2517
|
+
594: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
|
|
2518
|
+
595: <span class="ruby-identifier">startAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>)
|
|
2519
|
+
596: <span class="ruby-identifier">endAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>)
|
|
2520
|
+
597: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">endAlert</span>
|
|
2521
|
+
598: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">0</span>
|
|
2522
|
+
599: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Up'</span>
|
|
2523
|
+
600: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">></span> <span class="ruby-identifier">endAlert</span>
|
|
2524
|
+
601: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">2</span>
|
|
2525
|
+
602: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Down'</span>
|
|
2526
|
+
603: <span class="ruby-keyword kw">else</span>
|
|
2527
|
+
604: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">1</span>
|
|
2528
|
+
605: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Flat'</span>
|
|
2529
|
+
606: <span class="ruby-keyword kw">end</span>
|
|
2530
|
+
607: <span class="ruby-keyword kw">end</span></pre>
|
|
2487
2531
|
</div>
|
|
2488
2532
|
|
|
2489
2533
|
</div>
|
|
@@ -2514,13 +2558,13 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2514
2558
|
<div class="method-source-code"
|
|
2515
2559
|
id="query-journalmessages-source">
|
|
2516
2560
|
<pre>
|
|
2517
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2561
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 579</span>
|
|
2562
|
+
579: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_journalmessages</span>(<span class="ruby-identifier">query</span>)
|
|
2563
|
+
580: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
|
|
2564
|
+
581: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>,
|
|
2565
|
+
582: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>),
|
|
2566
|
+
583: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
|
|
2567
|
+
584: <span class="ruby-keyword kw">end</span></pre>
|
|
2524
2568
|
</div>
|
|
2525
2569
|
|
|
2526
2570
|
</div>
|
|
@@ -2551,13 +2595,13 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
2551
2595
|
<div class="method-source-code"
|
|
2552
2596
|
id="query-journalsummaries-source">
|
|
2553
2597
|
<pre>
|
|
2554
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2598
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 586</span>
|
|
2599
|
+
586: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_journalsummaries</span>(<span class="ruby-identifier">query</span>)
|
|
2600
|
+
587: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
|
|
2601
|
+
588: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>,
|
|
2602
|
+
589: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">hideJournalEntry</span>),
|
|
2603
|
+
590: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
|
|
2604
|
+
591: <span class="ruby-keyword kw">end</span></pre>
|
|
2561
2605
|
</div>
|
|
2562
2606
|
|
|
2563
2607
|
</div>
|
|
@@ -2591,10 +2635,10 @@ Array generated by backupAttributes().
|
|
|
2591
2635
|
<div class="method-source-code"
|
|
2592
2636
|
id="restore-ttributes-source">
|
|
2593
2637
|
<pre>
|
|
2594
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2638
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 201</span>
|
|
2639
|
+
201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restoreAttributes</span>(<span class="ruby-identifier">backup</span>)
|
|
2640
|
+
202: <span class="ruby-ivar">@attributes</span>, <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-identifier">backup</span>
|
|
2641
|
+
203: <span class="ruby-keyword kw">end</span></pre>
|
|
2598
2642
|
</div>
|
|
2599
2643
|
|
|
2600
2644
|
</div>
|
|
@@ -2627,14 +2671,14 @@ Return the top-level node for this node.
|
|
|
2627
2671
|
<div class="method-source-code"
|
|
2628
2672
|
id="root-source">
|
|
2629
2673
|
<pre>
|
|
2630
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2674
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 374</span>
|
|
2675
|
+
374: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
|
|
2676
|
+
375: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
|
|
2677
|
+
376: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
|
|
2678
|
+
377: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
|
|
2679
|
+
378: <span class="ruby-keyword kw">end</span>
|
|
2680
|
+
379: <span class="ruby-identifier">n</span>
|
|
2681
|
+
380: <span class="ruby-keyword kw">end</span></pre>
|
|
2638
2682
|
</div>
|
|
2639
2683
|
|
|
2640
2684
|
</div>
|
|
@@ -2669,10 +2713,10 @@ raised.
|
|
|
2669
2713
|
<div class="method-source-code"
|
|
2670
2714
|
id="set-source">
|
|
2671
2715
|
<pre>
|
|
2672
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2716
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 411</span>
|
|
2717
|
+
411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">value</span>)
|
|
2718
|
+
412: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
2719
|
+
413: <span class="ruby-keyword kw">end</span></pre>
|
|
2676
2720
|
</div>
|
|
2677
2721
|
|
|
2678
2722
|
</div>
|
|
@@ -2703,10 +2747,10 @@ raised.
|
|
|
2703
2747
|
<div class="method-source-code"
|
|
2704
2748
|
id="warning-source">
|
|
2705
2749
|
<pre>
|
|
2706
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2750
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 652</span>
|
|
2751
|
+
652: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>)
|
|
2752
|
+
653: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-ivar">@sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">nil</span>)
|
|
2753
|
+
654: <span class="ruby-keyword kw">end</span></pre>
|
|
2710
2754
|
</div>
|
|
2711
2755
|
|
|
2712
2756
|
</div>
|
|
@@ -2743,10 +2787,10 @@ raised.
|
|
|
2743
2787
|
<div class="method-source-code"
|
|
2744
2788
|
id="indent-source">
|
|
2745
2789
|
<pre>
|
|
2746
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2790
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 702</span>
|
|
2791
|
+
702: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tag</span>, <span class="ruby-identifier">str</span>)
|
|
2792
|
+
703: <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-node">"\n#{' ' * tag.length}"</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span>
|
|
2793
|
+
704: <span class="ruby-keyword kw">end</span></pre>
|
|
2750
2794
|
</div>
|
|
2751
2795
|
|
|
2752
2796
|
</div>
|
|
@@ -2780,44 +2824,44 @@ href="Query.html">Query</a>.
|
|
|
2780
2824
|
<div class="method-source-code"
|
|
2781
2825
|
id="journal-essages-source">
|
|
2782
2826
|
<pre>
|
|
2783
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2827
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/PropertyTreeNode.rb, line 664</span>
|
|
2828
|
+
664: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">journalMessages</span>(<span class="ruby-identifier">entries</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">longVersion</span>)
|
|
2829
|
+
665: <span class="ruby-comment cmt"># The components of the message are either UTF-8 text or RichText. For</span>
|
|
2830
|
+
666: <span class="ruby-comment cmt"># the RichText components, we use the originally provided markup since</span>
|
|
2831
|
+
667: <span class="ruby-comment cmt"># we compose the result as RichText markup first.</span>
|
|
2832
|
+
668: <span class="ruby-identifier">rText</span> = <span class="ruby-value str">''</span>
|
|
2833
|
+
669: <span class="ruby-identifier">entries</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
|
|
2834
|
+
670: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"==== <nowiki>"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">headline</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"</nowiki> ====\n"</span>
|
|
2835
|
+
671: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"''Reported on #{entry.date.to_s(query.timeFormat)}'' "</span>
|
|
2836
|
+
672: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">author</span>
|
|
2837
|
+
673: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"''by <nowiki>#{entry.author.name}</nowiki>''"</span>
|
|
2838
|
+
674: <span class="ruby-keyword kw">end</span>
|
|
2839
|
+
675: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n\n"</span>
|
|
2840
|
+
676: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">flags</span>.<span class="ruby-identifier">empty?</span>
|
|
2841
|
+
677: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"''Flags:'' #{entry.flags.join(', ')}\n\n"</span>
|
|
2842
|
+
678: <span class="ruby-keyword kw">end</span>
|
|
2843
|
+
679: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>
|
|
2844
|
+
680: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n\n"</span>
|
|
2845
|
+
681: <span class="ruby-keyword kw">end</span>
|
|
2846
|
+
682: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">longVersion</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>
|
|
2847
|
+
683: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n\n"</span>
|
|
2848
|
+
684: <span class="ruby-keyword kw">end</span>
|
|
2849
|
+
685: <span class="ruby-keyword kw">end</span>
|
|
2850
|
+
686: <span class="ruby-comment cmt"># Now convert the RichText markup String into RichTextIntermediate</span>
|
|
2851
|
+
687: <span class="ruby-comment cmt"># format.</span>
|
|
2852
|
+
688: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">rti</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rText</span>, <span class="ruby-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>),
|
|
2853
|
+
689: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>).
|
|
2854
|
+
690: <span class="ruby-identifier">generateIntermediateFormat</span>)
|
|
2855
|
+
691: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-value str">'ptn_journal'</span>,
|
|
2856
|
+
692: <span class="ruby-value str">"Syntax error in journal message"</span>)
|
|
2857
|
+
693: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
2858
|
+
694: <span class="ruby-keyword kw">end</span>
|
|
2859
|
+
695: <span class="ruby-comment cmt"># No section numbers, please!</span>
|
|
2860
|
+
696: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
|
|
2861
|
+
697: <span class="ruby-comment cmt"># We use a special class to allow CSS formating.</span>
|
|
2862
|
+
698: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">cssClass</span> = <span class="ruby-value str">'tj_journal'</span>
|
|
2863
|
+
699: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rti</span>
|
|
2864
|
+
700: <span class="ruby-keyword kw">end</span></pre>
|
|
2821
2865
|
</div>
|
|
2822
2866
|
|
|
2823
2867
|
</div>
|