taskjuggler 0.0.7 → 0.0.8
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 +119 -0
- data/benchmarks/allocatedSlots.tjp +1602 -0
- data/benchmarks/booking.tjp +40 -30
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
- data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
- data/benchmarks/gantt.tjp +57 -0
- data/benchmarks/htmltaskreport.tjp +26 -1
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/profile.html +58182 -0
- data/benchmarks/runbench.rb +6 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
- data/doc/AppConfig.html +85 -37
- data/doc/Arguments.html +11 -1
- data/doc/CHANGELOG.html +131 -2
- data/doc/COPYING.html +11 -1
- data/doc/Object.html +12 -3
- data/doc/README.html +11 -1
- data/doc/RuntimeConfig.html +11 -1
- data/doc/String.html +11 -1
- data/doc/StringIO.html +11 -1
- data/doc/TaskJuggler.html +250 -219
- data/doc/TaskJuggler/Account.html +11 -1
- data/doc/TaskJuggler/AccountAttribute.html +11 -1
- data/doc/TaskJuggler/AccountScenario.html +11 -1
- data/doc/TaskJuggler/Allocation.html +11 -1
- data/doc/TaskJuggler/AllocationAttribute.html +11 -1
- data/doc/TaskJuggler/AttributeBase.html +11 -1
- data/doc/TaskJuggler/AttributeDefinition.html +11 -1
- data/doc/TaskJuggler/BatchProcessor.html +11 -1
- data/doc/TaskJuggler/Booking.html +11 -1
- data/doc/TaskJuggler/BookingListAttribute.html +11 -1
- data/doc/TaskJuggler/BooleanAttribute.html +11 -1
- data/doc/TaskJuggler/CSVFile.html +12 -2
- data/doc/TaskJuggler/CellSettingPattern.html +11 -1
- data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
- data/doc/TaskJuggler/Charge.html +11 -1
- data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
- data/doc/TaskJuggler/ChargeSet.html +11 -1
- data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
- data/doc/TaskJuggler/CollisionDetector.html +1063 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
- data/doc/TaskJuggler/ColumnTable.html +11 -1
- data/doc/TaskJuggler/Daemon.html +11 -1
- data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
- data/doc/TaskJuggler/DataCacheEntry.html +711 -0
- data/doc/TaskJuggler/DateAttribute.html +11 -1
- data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
- data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
- data/doc/TaskJuggler/DurationAttribute.html +16 -5
- data/doc/TaskJuggler/FileList.html +11 -1
- data/doc/TaskJuggler/FileRecord.html +11 -1
- data/doc/TaskJuggler/FixnumAttribute.html +19 -9
- data/doc/TaskJuggler/FlagListAttribute.html +29 -19
- data/doc/TaskJuggler/FloatAttribute.html +23 -13
- data/doc/TaskJuggler/FormatListAttribute.html +19 -9
- data/doc/TaskJuggler/GanttChart.html +94 -133
- data/doc/TaskJuggler/GanttContainer.html +11 -1
- data/doc/TaskJuggler/GanttHeader.html +11 -1
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
- data/doc/TaskJuggler/GanttLine.html +11 -1
- data/doc/TaskJuggler/GanttLoadStack.html +11 -1
- data/doc/TaskJuggler/GanttMilestone.html +11 -1
- data/doc/TaskJuggler/GanttRouter.html +247 -596
- data/doc/TaskJuggler/GanttTaskBar.html +11 -1
- data/doc/TaskJuggler/HTMLDocument.html +11 -1
- data/doc/TaskJuggler/HTMLGraphics.html +11 -1
- data/doc/TaskJuggler/Interval.html +11 -1
- data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
- data/doc/TaskJuggler/JobInfo.html +11 -1
- data/doc/TaskJuggler/Journal.html +11 -1
- data/doc/TaskJuggler/JournalEntry.html +11 -1
- data/doc/TaskJuggler/JournalEntryList.html +11 -1
- data/doc/TaskJuggler/KeywordArray.html +11 -1
- data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
- data/doc/TaskJuggler/Limits.html +11 -1
- data/doc/TaskJuggler/Limits/Limit.html +11 -1
- data/doc/TaskJuggler/LimitsAttribute.html +24 -14
- data/doc/TaskJuggler/ListAttributeBase.html +11 -1
- data/doc/TaskJuggler/Log.html +11 -1
- data/doc/TaskJuggler/LogFile.html +11 -1
- data/doc/TaskJuggler/LogicalAttribute.html +11 -1
- data/doc/TaskJuggler/LogicalExpression.html +11 -1
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
- data/doc/TaskJuggler/LogicalFlag.html +11 -1
- data/doc/TaskJuggler/LogicalFunction.html +11 -1
- data/doc/TaskJuggler/LogicalOperation.html +11 -1
- data/doc/TaskJuggler/Macro.html +11 -1
- data/doc/TaskJuggler/MacroTable.html +11 -1
- data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
- data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
- data/doc/TaskJuggler/Message.html +11 -1
- data/doc/TaskJuggler/MessageHandler.html +11 -1
- data/doc/TaskJuggler/Navigator.html +12 -2
- data/doc/TaskJuggler/NavigatorElement.html +11 -1
- data/doc/TaskJuggler/NikuProject.html +11 -1
- data/doc/TaskJuggler/NikuReport.html +11 -1
- data/doc/TaskJuggler/NikuResource.html +11 -1
- data/doc/TaskJuggler/NodeListAttribute.html +17 -7
- data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
- data/doc/TaskJuggler/ProcessIntercom.html +11 -1
- data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
- data/doc/TaskJuggler/Project.html +587 -500
- data/doc/TaskJuggler/ProjectBroker.html +11 -1
- data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
- data/doc/TaskJuggler/ProjectFileParser.html +205 -192
- data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
- data/doc/TaskJuggler/ProjectRecord.html +11 -1
- data/doc/TaskJuggler/ProjectServer.html +11 -1
- data/doc/TaskJuggler/ProjectServerIface.html +11 -1
- data/doc/TaskJuggler/PropertyAttribute.html +19 -9
- data/doc/TaskJuggler/PropertyList.html +95 -83
- data/doc/TaskJuggler/PropertySet.html +11 -1
- data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
- data/doc/TaskJuggler/Query.html +234 -232
- data/doc/TaskJuggler/RTFHandlers.html +11 -1
- data/doc/TaskJuggler/RTFNavigator.html +11 -1
- data/doc/TaskJuggler/RTFQuery.html +11 -1
- data/doc/TaskJuggler/RTFReport.html +11 -1
- data/doc/TaskJuggler/RTFReportLink.html +11 -1
- data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
- data/doc/TaskJuggler/RealFormat.html +12 -2
- data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
- data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
- data/doc/TaskJuggler/Report.html +96 -113
- data/doc/TaskJuggler/ReportBase.html +161 -152
- data/doc/TaskJuggler/ReportContext.html +11 -1
- data/doc/TaskJuggler/ReportServer.html +59 -48
- data/doc/TaskJuggler/ReportServerIface.html +51 -41
- data/doc/TaskJuggler/ReportServerRecord.html +11 -1
- data/doc/TaskJuggler/ReportServlet.html +11 -1
- data/doc/TaskJuggler/ReportTable.html +46 -25
- data/doc/TaskJuggler/ReportTableCell.html +296 -275
- data/doc/TaskJuggler/ReportTableColumn.html +14 -4
- data/doc/TaskJuggler/ReportTableLegend.html +11 -1
- data/doc/TaskJuggler/ReportTableLine.html +19 -7
- data/doc/TaskJuggler/Resource.html +12 -2
- data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
- data/doc/TaskJuggler/ResourceListRE.html +11 -1
- data/doc/TaskJuggler/ResourceScenario.html +708 -565
- data/doc/TaskJuggler/RichText.html +54 -36
- data/doc/TaskJuggler/RichTextAttribute.html +31 -21
- data/doc/TaskJuggler/RichTextDocument.html +11 -1
- data/doc/TaskJuggler/RichTextElement.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
- data/doc/TaskJuggler/RichTextImage.html +11 -1
- data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
- data/doc/TaskJuggler/RichTextParser.html +88 -33
- data/doc/TaskJuggler/RichTextScanner.html +45 -35
- data/doc/TaskJuggler/RichTextSnip.html +11 -1
- data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
- data/doc/TaskJuggler/Scenario.html +11 -1
- data/doc/TaskJuggler/ScenarioData.html +11 -1
- data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
- data/doc/TaskJuggler/Scoreboard.html +92 -73
- data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
- data/doc/TaskJuggler/SheetReceiver.html +11 -1
- data/doc/TaskJuggler/SheetSender.html +11 -1
- data/doc/TaskJuggler/Shift.html +11 -1
- data/doc/TaskJuggler/ShiftAssignment.html +11 -1
- data/doc/TaskJuggler/ShiftAssignments.html +11 -1
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
- data/doc/TaskJuggler/ShiftScenario.html +11 -1
- data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
- data/doc/TaskJuggler/SortListAttribute.html +21 -11
- data/doc/TaskJuggler/SourceFileInfo.html +11 -1
- data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
- data/doc/TaskJuggler/StatusSheetReport.html +11 -1
- data/doc/TaskJuggler/StatusSheetSender.html +112 -11
- data/doc/TaskJuggler/StringAttribute.html +23 -13
- data/doc/TaskJuggler/SymbolAttribute.html +19 -9
- data/doc/TaskJuggler/SyntaxReference.html +80 -71
- data/doc/TaskJuggler/TOCEntry.html +11 -1
- data/doc/TaskJuggler/TSResourceRecord.html +11 -1
- data/doc/TaskJuggler/TSTaskRecord.html +11 -1
- data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
- data/doc/TaskJuggler/TableOfContents.html +11 -1
- data/doc/TaskJuggler/TableReport.html +422 -411
- data/doc/TaskJuggler/Task.html +11 -1
- data/doc/TaskJuggler/TaskDependency.html +11 -1
- data/doc/TaskJuggler/TaskListAttribute.html +33 -23
- data/doc/TaskJuggler/TaskListRE.html +11 -1
- data/doc/TaskJuggler/TaskScenario.html +2007 -1919
- data/doc/TaskJuggler/TextFormatter.html +11 -1
- data/doc/TaskJuggler/TextParser.html +421 -612
- data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
- data/doc/TaskJuggler/TextParser/Rule.html +224 -152
- data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
- data/doc/TaskJuggler/TextParser/State.html +989 -0
- data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
- data/doc/TaskJuggler/TextReport.html +11 -1
- data/doc/TaskJuggler/TextScanner.html +285 -273
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
- data/doc/TaskJuggler/TimeSheet.html +11 -1
- data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
- data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
- data/doc/TaskJuggler/TimeSheetReport.html +11 -1
- data/doc/TaskJuggler/TimeSheetSender.html +11 -1
- data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
- data/doc/TaskJuggler/TimeSheets.html +11 -1
- data/doc/TaskJuggler/Tj3AppBase.html +11 -1
- data/doc/TaskJuggler/Tj3Client.html +11 -1
- data/doc/TaskJuggler/Tj3Daemon.html +11 -1
- data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
- data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3SsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3TsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
- data/doc/TaskJuggler/TjException.html +11 -1
- data/doc/TaskJuggler/TjTime.html +474 -324
- data/doc/TaskJuggler/TjpExample.html +11 -1
- data/doc/TaskJuggler/TjpExportRE.html +11 -1
- data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
- data/doc/TaskJuggler/URLParameter.html +11 -1
- data/doc/TaskJuggler/UserManual.html +11 -1
- data/doc/TaskJuggler/VimSyntax.html +11 -1
- data/doc/TaskJuggler/WebServer.html +11 -1
- data/doc/TaskJuggler/WorkingHours.html +295 -221
- data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
- data/doc/TaskJuggler/XMLBlob.html +11 -1
- data/doc/TaskJuggler/XMLComment.html +11 -1
- data/doc/TaskJuggler/XMLDocument.html +11 -1
- data/doc/TaskJuggler/XMLElement.html +11 -1
- data/doc/TaskJuggler/XMLNamedText.html +11 -1
- data/doc/TaskJuggler/XMLText.html +11 -1
- data/doc/index.html +694 -624
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/DataCache_rb.html +69 -0
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +1 -1
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +3 -1
- data/doc/lib/TextParser/Pattern_rb.html +3 -1
- data/doc/lib/TextParser/Rule_rb.html +3 -1
- data/doc/lib/TextParser/StackElement_rb.html +3 -1
- data/doc/lib/TextParser/State_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +1 -1
- data/doc/lib/TextScanner_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +3 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/CollisionDetector_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +3 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/examples/tutorial.tjp +1 -2
- data/lib/AppConfig.rb +10 -4
- data/lib/Attributes.rb +4 -4
- data/lib/DataCache.rb +124 -0
- data/lib/KeywordDocumentation.rb +5 -5
- data/lib/Project.rb +54 -10
- data/lib/ProjectFileParser.rb +10 -9
- data/lib/ProjectFileScanner.rb +38 -25
- data/lib/PropertyList.rb +6 -4
- data/lib/Query.rb +0 -8
- data/lib/RealFormat.rb +1 -1
- data/lib/Resource.rb +1 -1
- data/lib/ResourceScenario.rb +96 -31
- data/lib/RichText.rb +17 -5
- data/lib/RichTextParser.rb +22 -9
- data/lib/RichTextScanner.rb +34 -34
- data/lib/RichTextSyntaxRules.rb +41 -36
- data/lib/Scoreboard.rb +16 -7
- data/lib/StatusSheetSender.rb +63 -0
- data/lib/SyntaxReference.rb +9 -10
- data/lib/TaskJuggler.rb +28 -4
- data/lib/TaskScenario.rb +66 -19
- data/lib/TextParser.rb +219 -384
- data/lib/TextParser/Pattern.rb +168 -49
- data/lib/TextParser/Rule.rb +33 -17
- data/lib/TextParser/StackElement.rb +42 -2
- data/lib/TextParser/State.rb +175 -0
- data/lib/TextScanner.rb +19 -15
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +111 -3
- data/lib/TjpSyntaxRules.rb +122 -66
- data/lib/WorkingHours.rb +91 -186
- data/lib/daemon/ReportServer.rb +3 -2
- data/lib/reports/CSVFile.rb +1 -1
- data/lib/reports/CollisionDetector.rb +177 -0
- data/lib/reports/GanttChart.rb +25 -41
- data/lib/reports/GanttRouter.rb +104 -233
- data/lib/reports/Navigator.rb +1 -1
- data/lib/reports/Report.rb +9 -33
- data/lib/reports/ReportBase.rb +0 -1
- data/lib/reports/ReportTable.rb +19 -8
- data/lib/reports/ReportTableCell.rb +61 -25
- data/lib/reports/ReportTableColumn.rb +2 -2
- data/lib/reports/ReportTableLine.rb +4 -2
- data/lib/reports/TableReport.rb +1 -0
- data/lib/taskjuggler3.rb +0 -1
- data/manual/Installation +7 -3
- data/manual/Intro +12 -10
- data/manual/The_TaskJuggler_Syntax +4 -4
- data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/genrefs +1 -1
- data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
- data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
- data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
- data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
- data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
- data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
- data/test/TestSuite/StatusSheets/run +2 -0
- data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
- data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
- data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +1 -1
- data/test/test_CSV-Reports.rb +2 -4
- data/test/test_CollisionDetector.rb +85 -0
- data/test/test_Project.rb +2 -2
- data/test/test_ProjectFileScanner.rb +73 -31
- data/test/test_Query.rb +2 -2
- data/test/test_ReportGenerator.rb +1 -1
- data/test/test_RichText.rb +4 -4
- data/test/test_WorkingHours.rb +150 -11
- metadata +75 -67
- data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
- data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
- data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
- data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
- data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
- data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
- 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/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/StatusSheets/resrep.tji +0 -7
- data/test/TestSuite/StatusSheets/tj3d.log +0 -312
- data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
- data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/statussheets.log +0 -1
|
@@ -151,12 +151,18 @@
|
|
|
151
151
|
|
|
152
152
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
153
153
|
|
|
154
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
155
|
+
|
|
154
156
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
155
157
|
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
159
161
|
|
|
162
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
163
|
+
|
|
164
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
165
|
+
|
|
160
166
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
161
167
|
|
|
162
168
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -263,7 +269,7 @@
|
|
|
263
269
|
|
|
264
270
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
265
271
|
|
|
266
|
-
<li><a href="../TaskJuggler/
|
|
272
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
267
273
|
|
|
268
274
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
269
275
|
|
|
@@ -443,6 +449,10 @@
|
|
|
443
449
|
|
|
444
450
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
445
451
|
|
|
452
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
453
|
+
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
455
|
+
|
|
446
456
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
447
457
|
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -584,10 +594,10 @@
|
|
|
584
594
|
<div class="method-source-code"
|
|
585
595
|
id="new-source">
|
|
586
596
|
<pre>
|
|
587
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
597
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 309</span>
|
|
598
|
+
309: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
|
|
599
|
+
310: <span class="ruby-keyword kw">super</span>
|
|
600
|
+
311: <span class="ruby-keyword kw">end</span></pre>
|
|
591
601
|
</div>
|
|
592
602
|
|
|
593
603
|
</div>
|
|
@@ -624,10 +634,10 @@
|
|
|
624
634
|
<div class="method-source-code"
|
|
625
635
|
id="to-s-source">
|
|
626
636
|
<pre>
|
|
627
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
637
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 313</span>
|
|
638
|
+
313: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span> = <span class="ruby-keyword kw">nil</span>)
|
|
639
|
+
314: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
|
|
640
|
+
315: <span class="ruby-keyword kw">end</span></pre>
|
|
631
641
|
</div>
|
|
632
642
|
|
|
633
643
|
</div>
|
|
@@ -73,8 +73,6 @@
|
|
|
73
73
|
|
|
74
74
|
<li><a href="#method-i-addTask">#addTask</a></li>
|
|
75
75
|
|
|
76
|
-
<li><a href="#method-i-collectAndSortArrows">#collectAndSortArrows</a></li>
|
|
77
|
-
|
|
78
76
|
<li><a href="#method-i-completeChart">#completeChart</a></li>
|
|
79
77
|
|
|
80
78
|
<li><a href="#method-i-dateToX">#dateToX</a></li>
|
|
@@ -83,11 +81,11 @@
|
|
|
83
81
|
|
|
84
82
|
<li><a href="#method-i-generateByWidth">#generateByWidth</a></li>
|
|
85
83
|
|
|
86
|
-
<li><a href="#method-i-
|
|
84
|
+
<li><a href="#method-i-generateDepLines">#generateDepLines</a></li>
|
|
87
85
|
|
|
88
|
-
<li><a href="#method-i-
|
|
86
|
+
<li><a href="#method-i-generateTaskDepLines">#generateTaskDepLines</a></li>
|
|
89
87
|
|
|
90
|
-
<li><a href="#method-i-
|
|
88
|
+
<li><a href="#method-i-hasScrollbar%3F">#hasScrollbar?</a></li>
|
|
91
89
|
|
|
92
90
|
<li><a href="#method-i-scaleByName">#scaleByName</a></li>
|
|
93
91
|
|
|
@@ -184,12 +182,18 @@
|
|
|
184
182
|
|
|
185
183
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
186
184
|
|
|
185
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
186
|
+
|
|
187
187
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
188
188
|
|
|
189
189
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
190
190
|
|
|
191
191
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
192
192
|
|
|
193
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
194
|
+
|
|
195
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
196
|
+
|
|
193
197
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
194
198
|
|
|
195
199
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -296,7 +300,7 @@
|
|
|
296
300
|
|
|
297
301
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
298
302
|
|
|
299
|
-
<li><a href="../TaskJuggler/
|
|
303
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
300
304
|
|
|
301
305
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
302
306
|
|
|
@@ -476,6 +480,10 @@
|
|
|
476
480
|
|
|
477
481
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
478
482
|
|
|
483
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
484
|
+
|
|
485
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
486
|
+
|
|
479
487
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
480
488
|
|
|
481
489
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -1090,7 +1098,7 @@ Returns true if the chart includes a scrollbar.
|
|
|
1090
1098
|
<div class="method-heading">
|
|
1091
1099
|
|
|
1092
1100
|
<span class="method-name">to_csv</span><span
|
|
1093
|
-
class="method-args">()</span>
|
|
1101
|
+
class="method-args">(csv, startColumn)</span>
|
|
1094
1102
|
<span class="method-click-advice">click to toggle source</span>
|
|
1095
1103
|
|
|
1096
1104
|
</div>
|
|
@@ -1107,9 +1115,9 @@ This is a noop function.
|
|
|
1107
1115
|
id="to-csv-source">
|
|
1108
1116
|
<pre>
|
|
1109
1117
|
<span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 201</span>
|
|
1110
|
-
201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
|
|
1118
|
+
201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">startColumn</span>)
|
|
1111
1119
|
202: <span class="ruby-comment cmt"># Can't put a Gantt chart into a CSV file.</span>
|
|
1112
|
-
203: <span class="ruby-value
|
|
1120
|
+
203: <span class="ruby-value">0</span>
|
|
1113
1121
|
204: <span class="ruby-keyword kw">end</span></pre>
|
|
1114
1122
|
</div>
|
|
1115
1123
|
|
|
@@ -1218,81 +1226,6 @@ Convert the chart into an HTML representation.
|
|
|
1218
1226
|
<h3 class="section-header">Private Instance Methods</h3>
|
|
1219
1227
|
|
|
1220
1228
|
|
|
1221
|
-
<div id="collect-nd-ort-rrows-method" class="method-detail ">
|
|
1222
|
-
<a name="method-i-collectAndSortArrows"></a>
|
|
1223
|
-
|
|
1224
|
-
<div class="method-heading">
|
|
1225
|
-
|
|
1226
|
-
<span class="method-name">collectAndSortArrows</span><span
|
|
1227
|
-
class="method-args">(kind, task, scenarioIdx, lineIndex, startX, startY)</span>
|
|
1228
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1229
|
-
|
|
1230
|
-
</div>
|
|
1231
|
-
|
|
1232
|
-
<div class="method-description">
|
|
1233
|
-
|
|
1234
|
-
<p>
|
|
1235
|
-
Generate the dependencies on the start or end of the task depending on
|
|
1236
|
-
<em>kind</em>. Use ‘startsuccs’ for the start and
|
|
1237
|
-
‘endsuccs’ for end. <em>startX</em> and <em>startY</em> are the
|
|
1238
|
-
graphic coordinates for the begin of the arrow line. <em>task</em>
|
|
1239
|
-
references the <a href="Task.html">Task</a> in question and
|
|
1240
|
-
<em>scenarioIdx</em> the scenario. <em>lineIndex</em> specifies the line
|
|
1241
|
-
number in the chart.
|
|
1242
|
-
</p>
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
<div class="method-source-code"
|
|
1247
|
-
id="collect-nd-ort-rrows-source">
|
|
1248
|
-
<pre>
|
|
1249
|
-
<span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 281</span>
|
|
1250
|
-
281: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectAndSortArrows</span>(<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>, <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>)
|
|
1251
|
-
282: <span class="ruby-comment cmt"># We need to sort the arrows. This is an Array that holds 6 values for</span>
|
|
1252
|
-
283: <span class="ruby-comment cmt"># each entry: The x and y coordinates for start and end points, the</span>
|
|
1253
|
-
284: <span class="ruby-comment cmt"># sinus value of the angle between a vertical and the line specified by</span>
|
|
1254
|
-
285: <span class="ruby-comment cmt"># the points and the length of the line.</span>
|
|
1255
|
-
286: <span class="ruby-identifier">touples</span> = []
|
|
1256
|
-
287: <span class="ruby-identifier">task</span>[<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span>, <span class="ruby-identifier">onEnd</span><span class="ruby-operator">|</span>
|
|
1257
|
-
288: <span class="ruby-comment cmt"># Skip inherited dependencies and tasks that are not included in the</span>
|
|
1258
|
-
289: <span class="ruby-comment cmt"># chart.</span>
|
|
1259
|
-
290: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">&&</span>
|
|
1260
|
-
291: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasDependency?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">kind</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">onEnd</span>)) <span class="ruby-operator">||</span>
|
|
1261
|
-
292: <span class="ruby-operator">!</span><span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">t</span>)
|
|
1262
|
-
293: <span class="ruby-keyword kw">next</span>
|
|
1263
|
-
294: <span class="ruby-keyword kw">end</span>
|
|
1264
|
-
295: <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> = <span class="ruby-ivar">@tasks</span>[<span class="ruby-identifier">t</span>][<span class="ruby-identifier">lineIndex</span>].<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">send</span>(
|
|
1265
|
-
296: <span class="ruby-identifier">onEnd</span> <span class="ruby-operator">?</span> <span class="ruby-value">:endDepLineEnd</span> <span class="ruby-operator">:</span> <span class="ruby-value">:startDepLineEnd</span>)
|
|
1266
|
-
297: <span class="ruby-comment cmt"># To make sure that we minimize the crossings of arrows that</span>
|
|
1267
|
-
298: <span class="ruby-comment cmt"># originate from the same position, we sort the arrows by the</span>
|
|
1268
|
-
299: <span class="ruby-comment cmt"># smallest angle between the vertical line through the task end</span>
|
|
1269
|
-
300: <span class="ruby-comment cmt"># and the line between the start and end of the arrow.</span>
|
|
1270
|
-
301: <span class="ruby-identifier">oppLeg</span> = <span class="ruby-identifier">endX</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startX</span>
|
|
1271
|
-
302: <span class="ruby-identifier">adjLeg</span> = (<span class="ruby-identifier">startY</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">endY</span>).<span class="ruby-identifier">abs</span>
|
|
1272
|
-
303: <span class="ruby-identifier">hypothenuse</span> = <span class="ruby-constant">Math</span>.<span class="ruby-identifier">sqrt</span>(<span class="ruby-identifier">adjLeg</span> <span class="ruby-operator">**</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">oppLeg</span> <span class="ruby-operator">**</span> <span class="ruby-value">2</span>)
|
|
1273
|
-
304: <span class="ruby-comment cmt"># We can now calculate the sinus values of the angle between the</span>
|
|
1274
|
-
305: <span class="ruby-comment cmt"># vertical and a line through the coordinates.</span>
|
|
1275
|
-
306: <span class="ruby-identifier">touples</span> <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>, <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span>,
|
|
1276
|
-
307: (<span class="ruby-identifier">oppLeg</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">hypothenuse</span>), <span class="ruby-identifier">hypothenuse</span> ]
|
|
1277
|
-
308: <span class="ruby-keyword kw">end</span>
|
|
1278
|
-
309: <span class="ruby-comment cmt"># We sort the arrows from small to a large angle. In case the angle is</span>
|
|
1279
|
-
310: <span class="ruby-comment cmt"># identical, we use the length of the line as second criteria.</span>
|
|
1280
|
-
311: <span class="ruby-identifier">touples</span>.<span class="ruby-identifier">sort!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t1</span>[<span class="ruby-value">4</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">t2</span>[<span class="ruby-value">4</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">t1</span>[<span class="ruby-value">5</span>] <span class="ruby-operator"><=></span> <span class="ruby-identifier">t2</span>[<span class="ruby-value">5</span>] <span class="ruby-operator">:</span>
|
|
1281
|
-
312: <span class="ruby-identifier">t1</span>[<span class="ruby-value">4</span>] <span class="ruby-operator"><=></span> <span class="ruby-identifier">t2</span>[<span class="ruby-value">4</span>] }
|
|
1282
|
-
313: <span class="ruby-identifier">touples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
|
|
1283
|
-
314: <span class="ruby-identifier">routeArrow</span>(*<span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>, <span class="ruby-value">4</span>])
|
|
1284
|
-
315: <span class="ruby-keyword kw">end</span>
|
|
1285
|
-
316: <span class="ruby-keyword kw">end</span></pre>
|
|
1286
|
-
</div>
|
|
1287
|
-
|
|
1288
|
-
</div>
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
</div>
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
1229
|
<div id="complete-hart-method" class="method-detail ">
|
|
1297
1230
|
<a name="method-i-completeChart"></a>
|
|
1298
1231
|
|
|
@@ -1321,18 +1254,32 @@ Calculate the overall height of the chart and generate dependency arrows.
|
|
|
1321
1254
|
240: <span class="ruby-ivar">@height</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">height</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">height</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@height</span>
|
|
1322
1255
|
241: <span class="ruby-keyword kw">end</span>
|
|
1323
1256
|
242:
|
|
1324
|
-
243: <span class="ruby-
|
|
1325
|
-
244:
|
|
1326
|
-
245: <span class="ruby-
|
|
1327
|
-
246:
|
|
1328
|
-
247:
|
|
1329
|
-
248:
|
|
1330
|
-
249: <span class="ruby-
|
|
1331
|
-
250:
|
|
1332
|
-
251:
|
|
1333
|
-
252:
|
|
1334
|
-
253:
|
|
1335
|
-
254:
|
|
1257
|
+
243: <span class="ruby-comment cmt"># To layout the dependency lines, we use a GanttRouter. We only provide</span>
|
|
1258
|
+
244: <span class="ruby-comment cmt"># the start and end coordinates of each line and it will do the layout</span>
|
|
1259
|
+
245: <span class="ruby-comment cmt"># and routing.</span>
|
|
1260
|
+
246: <span class="ruby-ivar">@router</span> = <span class="ruby-constant">GanttRouter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@width</span>, <span class="ruby-ivar">@height</span>)
|
|
1261
|
+
247:
|
|
1262
|
+
248: <span class="ruby-comment cmt"># We don't want horizontal lines to cross the task bars. So we block</span>
|
|
1263
|
+
249: <span class="ruby-comment cmt"># these chart zones. Milestones should not be crossed in any direction.</span>
|
|
1264
|
+
250: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
1265
|
+
251: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">addBlockedZones</span>(<span class="ruby-ivar">@router</span>)
|
|
1266
|
+
252: <span class="ruby-keyword kw">end</span>
|
|
1267
|
+
253:
|
|
1268
|
+
254: <span class="ruby-comment cmt"># Also protect the current date line from other vertical lines.</span>
|
|
1269
|
+
255: <span class="ruby-ivar">@router</span>.<span class="ruby-identifier">addZone</span>(<span class="ruby-ivar">@header</span>.<span class="ruby-identifier">nowLineX</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-value">0</span>, <span class="ruby-value">3</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
|
|
1270
|
+
256:
|
|
1271
|
+
257: <span class="ruby-comment cmt"># Generate the dependency arrows for all visible tasks.</span>
|
|
1272
|
+
258: <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span><span class="ruby-operator">|</span>
|
|
1273
|
+
259: <span class="ruby-identifier">generateDepLines</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
|
|
1274
|
+
260: <span class="ruby-keyword kw">end</span>
|
|
1275
|
+
261:
|
|
1276
|
+
262: <span class="ruby-comment cmt"># Make sure we have exactly one arrow head for each line end point even</span>
|
|
1277
|
+
263: <span class="ruby-comment cmt"># if the point is used by multiple lines.</span>
|
|
1278
|
+
264: <span class="ruby-ivar">@depArrows</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
1279
|
+
265: <span class="ruby-identifier">endPoint</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">last</span>
|
|
1280
|
+
266: <span class="ruby-ivar">@arrowHeads</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">endPoint</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@arrowHeads</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">endPoint</span>)
|
|
1281
|
+
267: <span class="ruby-keyword kw">end</span>
|
|
1282
|
+
268: <span class="ruby-keyword kw">end</span></pre>
|
|
1336
1283
|
</div>
|
|
1337
1284
|
|
|
1338
1285
|
</div>
|
|
@@ -1343,12 +1290,12 @@ Calculate the overall height of the chart and generate dependency arrows.
|
|
|
1343
1290
|
</div>
|
|
1344
1291
|
|
|
1345
1292
|
|
|
1346
|
-
<div id="generate-ep-
|
|
1347
|
-
<a name="method-i-
|
|
1293
|
+
<div id="generate-ep-ines-method" class="method-detail ">
|
|
1294
|
+
<a name="method-i-generateDepLines"></a>
|
|
1348
1295
|
|
|
1349
1296
|
<div class="method-heading">
|
|
1350
1297
|
|
|
1351
|
-
<span class="method-name">
|
|
1298
|
+
<span class="method-name">generateDepLines</span><span
|
|
1352
1299
|
class="method-args">(task, lines)</span>
|
|
1353
1300
|
<span class="method-click-advice">click to toggle source</span>
|
|
1354
1301
|
|
|
@@ -1366,24 +1313,24 @@ lines per task.
|
|
|
1366
1313
|
|
|
1367
1314
|
|
|
1368
1315
|
<div class="method-source-code"
|
|
1369
|
-
id="generate-ep-
|
|
1316
|
+
id="generate-ep-ines-source">
|
|
1370
1317
|
<pre>
|
|
1371
|
-
<span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1318
|
+
<span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 274</span>
|
|
1319
|
+
274: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateDepLines</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">lines</span>)
|
|
1320
|
+
275: <span class="ruby-comment cmt"># Since we need the line and the index we use an index iterator.</span>
|
|
1321
|
+
276: <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">lineIndex</span><span class="ruby-operator">|</span>
|
|
1322
|
+
277: <span class="ruby-identifier">line</span> = <span class="ruby-identifier">lines</span>[<span class="ruby-identifier">lineIndex</span>]
|
|
1323
|
+
278: <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scenarioIdx</span>
|
|
1324
|
+
279:
|
|
1325
|
+
280: <span class="ruby-comment cmt"># Generate the dependencies on the start of the task.</span>
|
|
1326
|
+
281: <span class="ruby-identifier">generateTaskDepLines</span>(<span class="ruby-value str">'startsuccs'</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>,
|
|
1327
|
+
282: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">startDepLineStart</span>)
|
|
1328
|
+
283:
|
|
1329
|
+
284: <span class="ruby-comment cmt"># Generate the dependencies on the end of the task.</span>
|
|
1330
|
+
285: <span class="ruby-identifier">generateTaskDepLines</span>(<span class="ruby-value str">'endsuccs'</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>,
|
|
1331
|
+
286: *<span class="ruby-identifier">line</span>.<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">endDepLineStart</span>)
|
|
1332
|
+
287: <span class="ruby-keyword kw">end</span>
|
|
1333
|
+
288: <span class="ruby-keyword kw">end</span></pre>
|
|
1387
1334
|
</div>
|
|
1388
1335
|
|
|
1389
1336
|
</div>
|
|
@@ -1394,13 +1341,13 @@ lines per task.
|
|
|
1394
1341
|
</div>
|
|
1395
1342
|
|
|
1396
1343
|
|
|
1397
|
-
<div id="
|
|
1398
|
-
<a name="method-i-
|
|
1344
|
+
<div id="generate-ask-ep-ines-method" class="method-detail ">
|
|
1345
|
+
<a name="method-i-generateTaskDepLines"></a>
|
|
1399
1346
|
|
|
1400
1347
|
<div class="method-heading">
|
|
1401
1348
|
|
|
1402
|
-
<span class="method-name">
|
|
1403
|
-
class="method-args">(
|
|
1349
|
+
<span class="method-name">generateTaskDepLines</span><span
|
|
1350
|
+
class="method-args">(kind, task, scenarioIdx, lineIndex, startX, startY)</span>
|
|
1404
1351
|
<span class="method-click-advice">click to toggle source</span>
|
|
1405
1352
|
|
|
1406
1353
|
</div>
|
|
@@ -1408,25 +1355,39 @@ lines per task.
|
|
|
1408
1355
|
<div class="method-description">
|
|
1409
1356
|
|
|
1410
1357
|
<p>
|
|
1411
|
-
|
|
1358
|
+
Generate the dependencies on the start or end of the task depending on
|
|
1359
|
+
<em>kind</em>. Use ‘startsuccs’ for the start and
|
|
1360
|
+
‘endsuccs’ for end. <em>startX</em> and <em>startY</em> are the
|
|
1361
|
+
graphic coordinates for the begin of the arrow line. <em>task</em>
|
|
1362
|
+
references the <a href="Task.html">Task</a> in question and
|
|
1363
|
+
<em>scenarioIdx</em> the scenario. <em>lineIndex</em> specifies the line
|
|
1364
|
+
number in the chart.
|
|
1412
1365
|
</p>
|
|
1413
1366
|
|
|
1414
1367
|
|
|
1415
1368
|
|
|
1416
1369
|
<div class="method-source-code"
|
|
1417
|
-
id="
|
|
1370
|
+
id="generate-ask-ep-ines-source">
|
|
1418
1371
|
<pre>
|
|
1419
|
-
<span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1372
|
+
<span class="ruby-comment cmt"># File lib/reports/GanttChart.rb, line 295</span>
|
|
1373
|
+
295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateTaskDepLines</span>(<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">lineIndex</span>, <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>)
|
|
1374
|
+
296: <span class="ruby-comment cmt"># This is an Array that holds 4 values for</span>
|
|
1375
|
+
297: <span class="ruby-comment cmt"># each entry: The x and y coordinates for start and end points.</span>
|
|
1376
|
+
298: <span class="ruby-identifier">touples</span> = []
|
|
1377
|
+
299: <span class="ruby-identifier">task</span>[<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span>, <span class="ruby-identifier">onEnd</span><span class="ruby-operator">|</span>
|
|
1378
|
+
300: <span class="ruby-comment cmt"># Skip inherited dependencies and tasks that are not included in the</span>
|
|
1379
|
+
301: <span class="ruby-comment cmt"># chart.</span>
|
|
1380
|
+
302: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">&&</span>
|
|
1381
|
+
303: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">hasDependency?</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">kind</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">onEnd</span>)) <span class="ruby-operator">||</span>
|
|
1382
|
+
304: <span class="ruby-operator">!</span><span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">t</span>)
|
|
1383
|
+
305: <span class="ruby-keyword kw">next</span>
|
|
1384
|
+
306: <span class="ruby-keyword kw">end</span>
|
|
1385
|
+
307: <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> = <span class="ruby-ivar">@tasks</span>[<span class="ruby-identifier">t</span>][<span class="ruby-identifier">lineIndex</span>].<span class="ruby-identifier">getTask</span>.<span class="ruby-identifier">send</span>(
|
|
1386
|
+
308: <span class="ruby-identifier">onEnd</span> <span class="ruby-operator">?</span> <span class="ruby-value">:endDepLineEnd</span> <span class="ruby-operator">:</span> <span class="ruby-value">:startDepLineEnd</span>)
|
|
1387
|
+
309: <span class="ruby-identifier">touples</span> <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">startX</span>, <span class="ruby-identifier">startY</span>, <span class="ruby-identifier">endX</span>, <span class="ruby-identifier">endY</span> ]
|
|
1388
|
+
310: <span class="ruby-keyword kw">end</span>
|
|
1389
|
+
311: <span class="ruby-ivar">@depArrows</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@router</span>.<span class="ruby-identifier">routeLines</span>(<span class="ruby-identifier">touples</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">touples</span>.<span class="ruby-identifier">empty?</span>()
|
|
1390
|
+
312: <span class="ruby-keyword kw">end</span></pre>
|
|
1430
1391
|
</div>
|
|
1431
1392
|
|
|
1432
1393
|
</div>
|
|
@@ -172,12 +172,18 @@
|
|
|
172
172
|
|
|
173
173
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
174
174
|
|
|
175
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
176
|
+
|
|
175
177
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
176
178
|
|
|
177
179
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
178
180
|
|
|
179
181
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
180
182
|
|
|
183
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
184
|
+
|
|
185
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
186
|
+
|
|
181
187
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
182
188
|
|
|
183
189
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -284,7 +290,7 @@
|
|
|
284
290
|
|
|
285
291
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
286
292
|
|
|
287
|
-
<li><a href="../TaskJuggler/
|
|
293
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
288
294
|
|
|
289
295
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
290
296
|
|
|
@@ -464,6 +470,10 @@
|
|
|
464
470
|
|
|
465
471
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
466
472
|
|
|
473
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
474
|
+
|
|
475
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
476
|
+
|
|
467
477
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
468
478
|
|
|
469
479
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -155,12 +155,18 @@
|
|
|
155
155
|
|
|
156
156
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
157
157
|
|
|
158
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
159
|
+
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
161
163
|
|
|
162
164
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
163
165
|
|
|
166
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
167
|
+
|
|
168
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
169
|
+
|
|
164
170
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
165
171
|
|
|
166
172
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -267,7 +273,7 @@
|
|
|
267
273
|
|
|
268
274
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
269
275
|
|
|
270
|
-
<li><a href="../TaskJuggler/
|
|
276
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
271
277
|
|
|
272
278
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
273
279
|
|
|
@@ -447,6 +453,10 @@
|
|
|
447
453
|
|
|
448
454
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
449
455
|
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
457
|
+
|
|
458
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
459
|
+
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
451
461
|
|
|
452
462
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|