From 6858c5357cfa465e34ee1d77cbe60109fb3c1c16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Fri, 4 Dec 2009 17:45:55 +0100 Subject: [PATCH] ItEr37S18CUCalculoCaminhoCriticoItEr36S20: Using support for listening changes on graph to reshow critical path when needed --- ganttzk/src/main/java/org/zkoss/ganttz/Planner.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java index c0ace5d5d..075daad16 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -31,6 +31,7 @@ import org.zkoss.ganttz.data.Dependency; import org.zkoss.ganttz.data.GanttDiagramGraph; import org.zkoss.ganttz.data.Position; import org.zkoss.ganttz.data.Task; +import org.zkoss.ganttz.data.GanttDiagramGraph.IGraphChangeListener; import org.zkoss.ganttz.extensions.ICommand; import org.zkoss.ganttz.extensions.ICommandOnTask; import org.zkoss.ganttz.extensions.IContext; @@ -294,12 +295,22 @@ public class Planner extends HtmlMacroComponent { return ganttPanel.getTimeTracker(); } + private IGraphChangeListener showCriticalPathOnChange = new IGraphChangeListener() { + + @Override + public void execute() { + context.showCriticalPath(); + } + }; + public void showCriticalPath() { if (disabilityConfiguration.isCriticalPathEnabled()) { if (isShowingCriticalPath) { context.hideCriticalPath(); + diagramGraph.removePostGraphChangeListener(showCriticalPathOnChange); } else { context.showCriticalPath(); + diagramGraph.addPostGraphChangeListener(showCriticalPathOnChange); } isShowingCriticalPath = !isShowingCriticalPath; }