From f7e3adbfd2e807abb5295006bc2f00a16aaa3cb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 23 Nov 2010 18:10:58 +0100 Subject: [PATCH] Now more tasks are reachable from a TaskPoint Now from an end date change the start can change because of backwards scheduling. This must be considered when considering if a dependency provokes an infinite loop or when calculating the recalculations to be done. For example, if a end date of a tasks is modified the start date could be moved and this could provoke other tasks depending on this start date to be moved. This is true for all tasks but the containers that have a special behavior. FEA: ItEr64OTS03PlanificacionHaciaAtras --- .../org/zkoss/ganttz/data/GanttDiagramGraph.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java index 702e391f9..2245415c0 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java @@ -1342,7 +1342,11 @@ public class GanttDiagramGraph> implements public enum PointType { BOTH, END, NONE; - public boolean sendsModificationsThrough(DependencyType type) { + public boolean sendsModificationsThrough(IAdapter adapter, + V source, DependencyType type) { + if (!adapter.isContainer(source)) { + return true; + } switch (this) { case NONE: return false; @@ -1403,8 +1407,10 @@ public class GanttDiagramGraph> implements public boolean sendsModificationsThrough(D dependency) { DependencyType type = adapter.getType(dependency); - return adapter.getSource(dependency).equals(task) - && pointType.sendsModificationsThrough(type); + T source = adapter.getSource(dependency); + return source.equals(task) + && pointType.sendsModificationsThrough(adapter, source, + type); } }