From 5fae97f44e369daba5a247c079e8a01c7d9e2f72 Mon Sep 17 00:00:00 2001 From: Arnaud Roques Date: Thu, 1 Feb 2024 18:52:57 +0100 Subject: [PATCH] fix: Gantt Layout issue when Print between is used with Printscale weekly https://github.com/plantuml/plantuml/issues/1664 --- src/net/sourceforge/plantuml/project/GanttDiagram.java | 10 +++++----- .../plantuml/project/draw/TimeHeaderDaily.java | 2 +- .../plantuml/project/draw/TimeHeaderMonthly.java | 4 ++-- .../plantuml/project/draw/TimeHeaderQuarterly.java | 4 ++-- .../plantuml/project/draw/TimeHeaderWeekly.java | 4 ++-- .../plantuml/project/draw/TimeHeaderYearly.java | 4 ++-- .../project/timescale/TimeScaleCompressed.java | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/net/sourceforge/plantuml/project/GanttDiagram.java b/src/net/sourceforge/plantuml/project/GanttDiagram.java index 529e21ae8..44e2bb2e6 100644 --- a/src/net/sourceforge/plantuml/project/GanttDiagram.java +++ b/src/net/sourceforge/plantuml/project/GanttDiagram.java @@ -307,15 +307,15 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit if (openClose.getStartingDay() == null) return new TimeHeaderSimple(stringBounder, thParam(), printScale); else if (printScale == PrintScale.DAILY) - return new TimeHeaderDaily(stringBounder, thParam(), nameDays, printStart, printEnd); + return new TimeHeaderDaily(stringBounder, thParam(), nameDays, printStart); else if (printScale == PrintScale.WEEKLY) - return new TimeHeaderWeekly(stringBounder, thParam(), weekNumberStrategy, withCalendarDate); + return new TimeHeaderWeekly(stringBounder, thParam(), weekNumberStrategy, withCalendarDate, printStart); else if (printScale == PrintScale.MONTHLY) - return new TimeHeaderMonthly(stringBounder, thParam()); + return new TimeHeaderMonthly(stringBounder, thParam(), printStart); else if (printScale == PrintScale.QUARTERLY) - return new TimeHeaderQuarterly(stringBounder, thParam()); + return new TimeHeaderQuarterly(stringBounder, thParam(), printStart); else if (printScale == PrintScale.YEARLY) - return new TimeHeaderYearly(stringBounder, thParam()); + return new TimeHeaderYearly(stringBounder, thParam(), printStart); else throw new IllegalStateException(); diff --git a/src/net/sourceforge/plantuml/project/draw/TimeHeaderDaily.java b/src/net/sourceforge/plantuml/project/draw/TimeHeaderDaily.java index 6d5a550bb..039180af5 100644 --- a/src/net/sourceforge/plantuml/project/draw/TimeHeaderDaily.java +++ b/src/net/sourceforge/plantuml/project/draw/TimeHeaderDaily.java @@ -96,7 +96,7 @@ public class TimeHeaderDaily extends TimeHeaderCalendar { private final Map nameDays; public TimeHeaderDaily(StringBounder stringBounder, TimeHeaderParameters thParam, Map nameDays, - Day printStart, Day printEnd) { + Day printStart) { super(thParam, new TimeScaleDaily(thParam.getCellWidth(stringBounder), thParam.getStartingDay(), thParam.getScale(), printStart)); this.nameDays = nameDays; diff --git a/src/net/sourceforge/plantuml/project/draw/TimeHeaderMonthly.java b/src/net/sourceforge/plantuml/project/draw/TimeHeaderMonthly.java index 81e619c86..f784519cd 100644 --- a/src/net/sourceforge/plantuml/project/draw/TimeHeaderMonthly.java +++ b/src/net/sourceforge/plantuml/project/draw/TimeHeaderMonthly.java @@ -67,9 +67,9 @@ public class TimeHeaderMonthly extends TimeHeaderCalendar { return getTimeHeaderHeight(stringBounder); } - public TimeHeaderMonthly(StringBounder stringBounder, TimeHeaderParameters thParam) { + public TimeHeaderMonthly(StringBounder stringBounder, TimeHeaderParameters thParam, Day printStart) { super(thParam, new TimeScaleCompressed(thParam.getCellWidth(stringBounder), thParam.getStartingDay(), - thParam.getScale())); + thParam.getScale(), printStart)); } @Override diff --git a/src/net/sourceforge/plantuml/project/draw/TimeHeaderQuarterly.java b/src/net/sourceforge/plantuml/project/draw/TimeHeaderQuarterly.java index 87e202be0..daa68bcfe 100644 --- a/src/net/sourceforge/plantuml/project/draw/TimeHeaderQuarterly.java +++ b/src/net/sourceforge/plantuml/project/draw/TimeHeaderQuarterly.java @@ -67,9 +67,9 @@ public class TimeHeaderQuarterly extends TimeHeaderCalendar { return getTimeHeaderHeight(stringBounder); } - public TimeHeaderQuarterly(StringBounder stringBounder, TimeHeaderParameters thParam) { + public TimeHeaderQuarterly(StringBounder stringBounder, TimeHeaderParameters thParam, Day printStart) { super(thParam, new TimeScaleCompressed(thParam.getCellWidth(stringBounder), thParam.getStartingDay(), - thParam.getScale())); + thParam.getScale(), printStart)); } @Override diff --git a/src/net/sourceforge/plantuml/project/draw/TimeHeaderWeekly.java b/src/net/sourceforge/plantuml/project/draw/TimeHeaderWeekly.java index c2cbc0d96..af6fbaffd 100644 --- a/src/net/sourceforge/plantuml/project/draw/TimeHeaderWeekly.java +++ b/src/net/sourceforge/plantuml/project/draw/TimeHeaderWeekly.java @@ -76,9 +76,9 @@ public class TimeHeaderWeekly extends TimeHeaderCalendar { } public TimeHeaderWeekly(StringBounder stringBounder, TimeHeaderParameters thParam, - WeekNumberStrategy weekNumberStrategy, boolean withCalendarDate) { + WeekNumberStrategy weekNumberStrategy, boolean withCalendarDate, Day printStart) { super(thParam, new TimeScaleCompressed(thParam.getCellWidth(stringBounder), thParam.getStartingDay(), - thParam.getScale())); + thParam.getScale(), printStart)); this.weekNumberStrategy = weekNumberStrategy; this.withCalendarDate = withCalendarDate; } diff --git a/src/net/sourceforge/plantuml/project/draw/TimeHeaderYearly.java b/src/net/sourceforge/plantuml/project/draw/TimeHeaderYearly.java index 1c569b4ff..fddee9e9a 100644 --- a/src/net/sourceforge/plantuml/project/draw/TimeHeaderYearly.java +++ b/src/net/sourceforge/plantuml/project/draw/TimeHeaderYearly.java @@ -64,9 +64,9 @@ public class TimeHeaderYearly extends TimeHeaderCalendar { return getTimeHeaderHeight(stringBounder); } - public TimeHeaderYearly(StringBounder stringBounder, TimeHeaderParameters thParam) { + public TimeHeaderYearly(StringBounder stringBounder, TimeHeaderParameters thParam, Day printStart) { super(thParam, new TimeScaleCompressed(thParam.getCellWidth(stringBounder), thParam.getStartingDay(), - thParam.getScale())); + thParam.getScale(), printStart)); } @Override diff --git a/src/net/sourceforge/plantuml/project/timescale/TimeScaleCompressed.java b/src/net/sourceforge/plantuml/project/timescale/TimeScaleCompressed.java index 31cc3283a..3e8155866 100644 --- a/src/net/sourceforge/plantuml/project/timescale/TimeScaleCompressed.java +++ b/src/net/sourceforge/plantuml/project/timescale/TimeScaleCompressed.java @@ -42,8 +42,8 @@ public class TimeScaleCompressed implements TimeScale { private final TimeScale daily; - public TimeScaleCompressed(double size, Day calendar, double scale) { - this.daily = new TimeScaleDaily(size, calendar, scale, null); + public TimeScaleCompressed(double size, Day calendar, double scale, Day zeroDay) { + this.daily = new TimeScaleDaily(size, calendar, scale, zeroDay); } public double getStartingPosition(Day instant) {