taskjuggler 0.0.8 → 0.0.9
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 +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
data/lib/reports/ReportTable.rb
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ReportTable.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ReportTableCell.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -52,6 +53,8 @@ class TaskJuggler
|
|
|
52
53
|
@data = nil
|
|
53
54
|
# Determines the background color of the cell.
|
|
54
55
|
@category = nil
|
|
56
|
+
# True of the cell is hidden (because other cells span multiple rows or
|
|
57
|
+
# columns)
|
|
55
58
|
@hidden = false
|
|
56
59
|
# How to horizontally align the cell
|
|
57
60
|
@alignment = :center
|
|
@@ -64,13 +67,22 @@ class TaskJuggler
|
|
|
64
67
|
@icon = nil
|
|
65
68
|
# A custom tooltip for the cell icon
|
|
66
69
|
@iconTooltip = nil
|
|
70
|
+
# Font size of the cell text in pixels
|
|
67
71
|
@fontSize = nil
|
|
72
|
+
# The background color of the cell. Overwrite the @category color.
|
|
68
73
|
@cellColor = nil
|
|
74
|
+
# The color of the cell text font.
|
|
69
75
|
@fontColor = nil
|
|
76
|
+
# True of a bold font is to be used for the cell text.
|
|
70
77
|
@bold = false
|
|
78
|
+
# The width of the column in pixels
|
|
71
79
|
@width = nil
|
|
80
|
+
# The number of rows the cell spans
|
|
72
81
|
@rows = 1
|
|
82
|
+
# The number of columns the cell spans
|
|
73
83
|
@columns = 1
|
|
84
|
+
# True of the resulting report should not contain any information from
|
|
85
|
+
# other files.
|
|
74
86
|
@selfcontained = false
|
|
75
87
|
# Ignore everything and use this reference to generate the output.
|
|
76
88
|
@special = nil
|
|
@@ -85,6 +97,7 @@ class TaskJuggler
|
|
|
85
97
|
@alignment == c.alignment &&
|
|
86
98
|
@padding == c.padding &&
|
|
87
99
|
@indent == c.indent &&
|
|
100
|
+
@cellColor == c.cellColor &&
|
|
88
101
|
@category == c.category
|
|
89
102
|
end
|
|
90
103
|
|
|
@@ -98,7 +111,9 @@ class TaskJuggler
|
|
|
98
111
|
attribs['rowspan'] = "#{@rows}" if @rows > 1
|
|
99
112
|
attribs['colspan'] = "#{@columns}" if @columns > 1
|
|
100
113
|
attribs['class'] = @category ? @category : 'tabcell'
|
|
101
|
-
|
|
114
|
+
style = ''
|
|
115
|
+
style += "background-color: #{@cellColor}; " if @cellColor
|
|
116
|
+
attribs['style'] = style unless style.empty?
|
|
102
117
|
cell = XMLElement.new('td', attribs)
|
|
103
118
|
|
|
104
119
|
cell << (table = XMLElement.new('table',
|
|
@@ -109,9 +124,8 @@ class TaskJuggler
|
|
|
109
124
|
calculateIndentation
|
|
110
125
|
|
|
111
126
|
# Insert a padding cell for the left side indentation.
|
|
112
|
-
if @leftIndent
|
|
113
|
-
row << XMLElement.new('td', 'style' => "
|
|
114
|
-
"width:#{@leftIndent}px; ")
|
|
127
|
+
if @leftIndent && @leftIndent > 0
|
|
128
|
+
row << XMLElement.new('td', 'style' => "width:#{@leftIndent}px; ")
|
|
115
129
|
end
|
|
116
130
|
row << cellIcon(cell)
|
|
117
131
|
|
|
@@ -132,9 +146,8 @@ class TaskJuggler
|
|
|
132
146
|
end
|
|
133
147
|
|
|
134
148
|
# Insert a padding cell for the right side indentation.
|
|
135
|
-
if @rightIndent
|
|
136
|
-
row << XMLElement.new('td', 'style' => "
|
|
137
|
-
"width:#{@rightIndent}px; ")
|
|
149
|
+
if @rightIndent && @rightIndent > 0
|
|
150
|
+
row << XMLElement.new('td', 'style' => "width:#{@rightIndent}px; ")
|
|
138
151
|
end
|
|
139
152
|
|
|
140
153
|
cell
|
|
@@ -228,18 +241,13 @@ class TaskJuggler
|
|
|
228
241
|
# None: - x - -
|
|
229
242
|
fixedHeight = @line && @line.table.equiLines
|
|
230
243
|
fixedWidth = !@width.nil?
|
|
231
|
-
style =
|
|
232
|
-
style
|
|
233
|
-
|
|
244
|
+
style = ''
|
|
245
|
+
style += "overflow:hidden; " if fixedHeight || fixedWidth
|
|
246
|
+
style += "white-space:#{fixedWidth && !fixedHeight ?
|
|
247
|
+
'normal' : 'nowrap'}; "
|
|
234
248
|
if fixedHeight && !fixedWidth
|
|
235
249
|
style += "height:#{@line.height - 3}px; "
|
|
236
250
|
end
|
|
237
|
-
if fixedWidth && !fixedHeight
|
|
238
|
-
# @width does not really determine the column width. It only
|
|
239
|
-
# determines the with of the text label. Padding and icons can make
|
|
240
|
-
# the column significantly wider.
|
|
241
|
-
style += "max-width:#{@width}px; "
|
|
242
|
-
end
|
|
243
251
|
style += 'font-weight:bold; ' if @bold
|
|
244
252
|
style += "font-size: #{@fontSize}px; " if fontSize
|
|
245
253
|
if @fontColor
|
|
@@ -248,8 +256,6 @@ class TaskJuggler
|
|
|
248
256
|
|
|
249
257
|
return nil, nil if @text.nil? || @text.empty?
|
|
250
258
|
|
|
251
|
-
td = XMLElement.new('td', 'class' => 'tj_table_cell_label',
|
|
252
|
-
'style' => style)
|
|
253
259
|
tooltip = nil
|
|
254
260
|
|
|
255
261
|
# @text can be a String or a RichText (with or without embedded
|
|
@@ -268,7 +274,20 @@ class TaskJuggler
|
|
|
268
274
|
|
|
269
275
|
return nil, nil if textAsString.empty?
|
|
270
276
|
|
|
271
|
-
|
|
277
|
+
if @width
|
|
278
|
+
# We have 4 pixels padding on each side of the cell.
|
|
279
|
+
labelWidth = @width - 8
|
|
280
|
+
labelWidth -= @leftIndent if @leftIndent
|
|
281
|
+
labelWidth -= @rightIndent if @rightIndent
|
|
282
|
+
if !@selfcontained
|
|
283
|
+
# The icons are 20 pixels width including padding.
|
|
284
|
+
labelWidth -= 20 if @icon
|
|
285
|
+
labelWidth -= 20 if tooltip || @tooltip
|
|
286
|
+
end
|
|
287
|
+
else
|
|
288
|
+
labelWidth = nil
|
|
289
|
+
end
|
|
290
|
+
shortText, singleLine = shortVersion(textAsString, labelWidth)
|
|
272
291
|
|
|
273
292
|
if (@line && @line.table.equiLines && (!singleLine || @width )) &&
|
|
274
293
|
!@headerCell
|
|
@@ -276,18 +295,26 @@ class TaskJuggler
|
|
|
276
295
|
# in the cell and provide the full content via a tooltip.
|
|
277
296
|
# Header cells are never shortened.
|
|
278
297
|
tooltip = @text if shortText != textAsString
|
|
279
|
-
|
|
298
|
+
tl = XMLText.new(shortText)
|
|
280
299
|
else
|
|
281
|
-
|
|
282
|
-
|
|
300
|
+
tl = (@text.is_a?(RichTextIntermediate) ? @text.to_html :
|
|
301
|
+
XMLText.new(@text))
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
if labelWidth
|
|
305
|
+
style += "min-width: #{labelWidth}px; max-width: #{labelWidth}px; "
|
|
283
306
|
end
|
|
284
307
|
|
|
308
|
+
td = XMLElement.new('td', 'class' => 'tj_table_cell_label',
|
|
309
|
+
'style' => style)
|
|
310
|
+
td << tl
|
|
311
|
+
|
|
285
312
|
return td, tooltip
|
|
286
313
|
end
|
|
287
314
|
|
|
288
315
|
# Convert a RichText String into a small one-line plain text
|
|
289
316
|
# version that fits the column.
|
|
290
|
-
def shortVersion(itext)
|
|
317
|
+
def shortVersion(itext, width)
|
|
291
318
|
text = itext.to_s
|
|
292
319
|
singleLine = true
|
|
293
320
|
modified = false
|
|
@@ -296,10 +323,18 @@ class TaskJuggler
|
|
|
296
323
|
singleLine = false
|
|
297
324
|
modified = true
|
|
298
325
|
end
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
326
|
+
if width
|
|
327
|
+
widthWithoutIcon = width - 20
|
|
328
|
+
# Assuming an average character width of 7 pixels
|
|
329
|
+
maxChars = widthWithoutIcon / 7
|
|
330
|
+
if text.length > maxChars
|
|
331
|
+
if maxChars > 0
|
|
332
|
+
text = text[0, maxChars]
|
|
333
|
+
else
|
|
334
|
+
text = ''
|
|
335
|
+
end
|
|
336
|
+
modified = true
|
|
337
|
+
end
|
|
303
338
|
end
|
|
304
339
|
# Add three dots to show that there is more info available.
|
|
305
340
|
text += "..." if modified
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ReportTableColumn.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ReportTableLegend.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -54,12 +55,11 @@ class TaskJuggler
|
|
|
54
55
|
if @showGanttItems
|
|
55
56
|
legend << (row = XMLElement.new('tr', 'class' => 'tj_legend_row'))
|
|
56
57
|
|
|
57
|
-
row << ganttItemToHTML(GanttContainer.new(
|
|
58
|
+
row << ganttItemToHTML(GanttContainer.new(15, 10, 35, 0),
|
|
58
59
|
'Container Task', 40)
|
|
59
|
-
row << ganttItemToHTML(GanttTaskBar.new(nil,
|
|
60
|
+
row << ganttItemToHTML(GanttTaskBar.new(nil, 15, 5, 35, 0),
|
|
60
61
|
'Normal Task', 40)
|
|
61
|
-
row << ganttItemToHTML(GanttMilestone.new(
|
|
62
|
-
'Milestone', 20)
|
|
62
|
+
row << ganttItemToHTML(GanttMilestone.new(15, 10, 0), 'Milestone', 20)
|
|
63
63
|
row << XMLElement.new('td', 'class' => 'tj_legend_spacer')
|
|
64
64
|
end
|
|
65
65
|
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ReportTableLine.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ResourceListRE.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = StatusSheetReport.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -95,7 +96,8 @@ class TaskJuggler
|
|
|
95
96
|
taskList = PropertyList.new(@project.tasks)
|
|
96
97
|
taskList.setSorting(@report.get('sortTasks'))
|
|
97
98
|
taskList = filterTaskList(taskList, nil, @report.get('hideTask'),
|
|
98
|
-
@report.get('rollupTask'),
|
|
99
|
+
@report.get('rollupTask'),
|
|
100
|
+
@report.get('openNodes'))
|
|
99
101
|
taskList.sort!
|
|
100
102
|
|
|
101
103
|
resourceList.each do |resource|
|
data/lib/reports/TableReport.rb
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TableReport.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -208,6 +209,7 @@ class TaskJuggler
|
|
|
208
209
|
@end = date if @end.nil? || date > @end
|
|
209
210
|
end
|
|
210
211
|
end
|
|
212
|
+
|
|
211
213
|
# We want to add at least 5% on both ends.
|
|
212
214
|
margin = 0
|
|
213
215
|
minWidth = @end - @start + 1
|
|
@@ -310,6 +312,7 @@ class TaskJuggler
|
|
|
310
312
|
column = ReportTableColumn.new(@table, columnDef, columnDef.title)
|
|
311
313
|
column.cell1.rows = 2
|
|
312
314
|
column.cell2.hidden = true
|
|
315
|
+
column.cell1.width = columnDef.width if columnDef.width
|
|
313
316
|
end
|
|
314
317
|
end
|
|
315
318
|
|
|
@@ -598,6 +601,10 @@ class TaskJuggler
|
|
|
598
601
|
# property that line is for. It returns true if the cell exists, false for a
|
|
599
602
|
# hidden cell.
|
|
600
603
|
def genStandardCell(query, line, columnDef)
|
|
604
|
+
query = query.dup
|
|
605
|
+
query.listType = columnDef.listType
|
|
606
|
+
query.listMode = columnDef.listMode
|
|
607
|
+
|
|
601
608
|
# Find out, what type of PropertyTreeNode we are dealing with.
|
|
602
609
|
property = line.property
|
|
603
610
|
if property.is_a?(Task)
|
|
@@ -627,24 +634,7 @@ class TaskJuggler
|
|
|
627
634
|
cell.text = (rti = query.to_rti) ? rti : query.to_s
|
|
628
635
|
end
|
|
629
636
|
|
|
630
|
-
|
|
631
|
-
# color.
|
|
632
|
-
fontColor = columnDef.fontColor.getPattern(query)
|
|
633
|
-
cell.fontColor = fontColor if fontColor
|
|
634
|
-
|
|
635
|
-
# Replace the cell background color if the user has requested a custom
|
|
636
|
-
# color.
|
|
637
|
-
cellColor = columnDef.cellColor.getPattern(query)
|
|
638
|
-
cell.cellColor = cellColor if cellColor
|
|
639
|
-
|
|
640
|
-
# Replace the default cell alignment if the user has requested a custom
|
|
641
|
-
# alignment.
|
|
642
|
-
hAlign = columnDef.hAlign.getPattern(query)
|
|
643
|
-
cell.alignment = hAlign if hAlign
|
|
644
|
-
|
|
645
|
-
# If the user has requested a custom tooltip, add it to the cell.
|
|
646
|
-
cell.tooltip = columnDef.tooltip.getPattern(query) || nil
|
|
647
|
-
|
|
637
|
+
setCustomCellAttributes(cell, columnDef, query)
|
|
648
638
|
checkCellText(cell)
|
|
649
639
|
|
|
650
640
|
true
|
|
@@ -657,6 +647,10 @@ class TaskJuggler
|
|
|
657
647
|
# TableColumnDefinition of the column. _property_ is the PropertyTreeNode
|
|
658
648
|
# that is reported in this cell.
|
|
659
649
|
def genCalculatedCell(query, line, columnDef, property)
|
|
650
|
+
query = query.dup
|
|
651
|
+
query.listType = columnDef.listType
|
|
652
|
+
query.listMode = columnDef.listMode
|
|
653
|
+
|
|
660
654
|
# Create a new cell
|
|
661
655
|
cell = newCell(query, line)
|
|
662
656
|
|
|
@@ -713,25 +707,7 @@ class TaskJuggler
|
|
|
713
707
|
cdText = columnDef.cellText.getPattern(query)
|
|
714
708
|
cell.text = cdText if cdText
|
|
715
709
|
|
|
716
|
-
|
|
717
|
-
# color.
|
|
718
|
-
cellColor = columnDef.cellColor.getPattern(query)
|
|
719
|
-
cell.cellColor = cellColor if cellColor
|
|
720
|
-
|
|
721
|
-
# Replace the font color setting if the user has requested a custom
|
|
722
|
-
# color.
|
|
723
|
-
fontColor = columnDef.fontColor.getPattern(query)
|
|
724
|
-
cell.fontColor = fontColor if fontColor
|
|
725
|
-
|
|
726
|
-
# Replace the default cell alignment if the user has requested a custom
|
|
727
|
-
# alignment.
|
|
728
|
-
hAlign = columnDef.hAlign.getPattern(query)
|
|
729
|
-
cell.alignment = hAlign if hAlign
|
|
730
|
-
|
|
731
|
-
# Register the custom tooltip if the user has requested one.
|
|
732
|
-
cdTooltip = columnDef.tooltip.getPattern(query)
|
|
733
|
-
cell.tooltip = cdTooltip if cdTooltip
|
|
734
|
-
|
|
710
|
+
setCustomCellAttributes(cell, columnDef, query)
|
|
735
711
|
checkCellText(cell)
|
|
736
712
|
|
|
737
713
|
true
|
|
@@ -789,6 +765,9 @@ class TaskJuggler
|
|
|
789
765
|
raise "Unknown column content #{column.content}"
|
|
790
766
|
end
|
|
791
767
|
|
|
768
|
+
cdText = columnDef.cellText.getPattern(query)
|
|
769
|
+
cell.text = cdText if cdText
|
|
770
|
+
|
|
792
771
|
# Determine cell category (mostly the background color)
|
|
793
772
|
if cellIv.overlaps?(taskIv)
|
|
794
773
|
# The cell is either a container or leaf task
|
|
@@ -886,6 +865,9 @@ class TaskJuggler
|
|
|
886
865
|
raise "Unknown column content #{column.content}"
|
|
887
866
|
end
|
|
888
867
|
|
|
868
|
+
cdText = columnDef.cellText.getPattern(query)
|
|
869
|
+
cell.text = cdText if cdText
|
|
870
|
+
|
|
889
871
|
# Set the tooltip for the cell. We might delete it again.
|
|
890
872
|
cell.tooltip = columnDef.tooltip.getPattern(query) || nil
|
|
891
873
|
cell.showTooltipHint = false
|
|
@@ -962,6 +944,28 @@ class TaskJuggler
|
|
|
962
944
|
cell.width = columnDef.width if columnDef.width
|
|
963
945
|
end
|
|
964
946
|
|
|
947
|
+
def setCustomCellAttributes(cell, columnDef, query)
|
|
948
|
+
# Replace the cell background color if the user has requested a custom
|
|
949
|
+
# color.
|
|
950
|
+
cellColor = columnDef.cellColor.getPattern(query)
|
|
951
|
+
cell.cellColor = cellColor if cellColor
|
|
952
|
+
|
|
953
|
+
# Replace the font color setting if the user has requested a custom
|
|
954
|
+
# color.
|
|
955
|
+
fontColor = columnDef.fontColor.getPattern(query)
|
|
956
|
+
cell.fontColor = fontColor if fontColor
|
|
957
|
+
|
|
958
|
+
# Replace the default cell alignment if the user has requested a custom
|
|
959
|
+
# alignment.
|
|
960
|
+
hAlign = columnDef.hAlign.getPattern(query)
|
|
961
|
+
cell.alignment = hAlign if hAlign
|
|
962
|
+
|
|
963
|
+
# Register the custom tooltip if the user has requested one.
|
|
964
|
+
cdTooltip = columnDef.tooltip.getPattern(query)
|
|
965
|
+
cell.tooltip = cdTooltip if cdTooltip
|
|
966
|
+
end
|
|
967
|
+
|
|
968
|
+
|
|
965
969
|
def setScenarioSettings(cell, scenarioIdx, scenarioSpecific)
|
|
966
970
|
# Check if we are dealing with multiple scenarios.
|
|
967
971
|
if a('scenarios').length > 1
|
data/lib/reports/TaskListRE.rb
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TaskListRE.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|
|
@@ -38,7 +39,8 @@ class TaskJuggler
|
|
|
38
39
|
taskList = PropertyList.new(@project.tasks)
|
|
39
40
|
taskList.setSorting(@report.get('sortTasks'))
|
|
40
41
|
taskList = filterTaskList(taskList, nil, @report.get('hideTask'),
|
|
41
|
-
@report.get('rollupTask'),
|
|
42
|
+
@report.get('rollupTask'),
|
|
43
|
+
@report.get('openNodes'))
|
|
42
44
|
taskList.query = @report.project.reportContexts.last.query
|
|
43
45
|
taskList.sort!
|
|
44
46
|
|
data/lib/reports/TextReport.rb
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TextReport.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
7
8
|
#
|
|
8
9
|
# This program is free software; you can redistribute it and/or modify
|
|
9
10
|
# it under the terms of version 2 of the GNU General Public License as
|