From a863ae31df8d3c8755dfa2ea941a4a3b331c7193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 22 Jul 2009 13:27:22 +0200 Subject: [PATCH] ItEr18S08CUCreacionProxectoPlanificacionItEr17S10: Adding method reload. It reloads all the planner from a new set of data. It makes easier the importation. --- .../FunctionalityExposedForExtensions.java | 6 ++++ .../main/java/org/zkoss/ganttz/Planner.java | 36 +++++++------------ .../org/zkoss/ganttz/extensions/IContext.java | 4 +++ 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java index fd6268f40..5d949b1b0 100644 --- a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java +++ b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java @@ -11,6 +11,7 @@ import org.zkoss.ganttz.adapters.DomainDependency; import org.zkoss.ganttz.adapters.IAdapterToTaskFundamentalProperties; import org.zkoss.ganttz.adapters.IDomainAndBeansMapper; import org.zkoss.ganttz.adapters.IStructureNavigator; +import org.zkoss.ganttz.adapters.PlannerConfiguration; import org.zkoss.ganttz.data.Dependency; import org.zkoss.ganttz.data.GanttDiagramGraph; import org.zkoss.ganttz.data.ITaskFundamentalProperties; @@ -112,4 +113,9 @@ public class FunctionalityExposedForExtensions implements IContext { return mapper; } + @Override + public void reload(PlannerConfiguration configuration) { + planner.setConfiguration(configuration); + } + } diff --git a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Planner.java b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Planner.java index e80595206..bfcbf9a3d 100644 --- a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Planner.java @@ -75,14 +75,6 @@ public class Planner extends XulElement { return Executions.getCurrent().getContextPath(); } - private void removePreviousGanntPanel() { - List children = getChildren(); - for (GanttPanel ganttPanel : findComponentsOfType(GanttPanel.class, - children)) { - removeChild(ganttPanel); - } - } - public DependencyList getDependencyList() { List children = ganttPanel.getChildren(); List found = findComponentsOfType(DependencyList.class, @@ -92,14 +84,6 @@ public class Planner extends XulElement { return found.get(0); } - private void removePreviousDetails() { - List children = getChildren(); - for (LeftTasksTree l : Planner.findComponentsOfType( - LeftTasksTree.class, children)) { - removeChild(l); - } - } - public TaskEditFormComposer getModalFormComposer() { return taskEditFormComposer; } @@ -109,7 +93,6 @@ public class Planner extends XulElement { } public void registerListeners() { - ganttPanel.afterCompose(); TaskList taskList = getTaskList(); dependencyAddedListener = new DependencyAddedListener() { @@ -196,7 +179,6 @@ public class Planner extends XulElement { FunctionalityExposedForExtensions context = new FunctionalityExposedForExtensions( this, configuration.getAdapter(), configuration.getNavigator(), diagramGraph); - context.add(configuration.getData()); dependencyAdder = new DependencyAdderAdapter(configuration .getAdapter(), context.getMapper()); this.contextualizedCommands = contextualize(context, @@ -204,7 +186,16 @@ public class Planner extends XulElement { .getGlobalCommands()); goingDownInLastArrowCommand = contextualize(context, configuration .getGoingDownInLastArrowCommand()); + clear(); + context.add(configuration.getData()); recreate(); + registerListeners(); + } + + private void clear() { + this.leftPane = null; + this.ganttPanel = null; + getChildren().clear(); } private CommandContextualized contextualize( @@ -227,18 +218,15 @@ public class Planner extends XulElement { } private void recreate() { - removePreviousDetails(); this.leftPane = new LeftPane(contextualizedCommands, this.diagramGraph .getTopLevelTasks()); - insertBefore(this.leftPane, (Component) (getChildren().isEmpty() ? null - : getChildren().get(0))); + this.leftPane.setParent(this); this.leftPane.afterCompose(); this.leftPane .setGoingDownInLastArrowCommand(goingDownInLastArrowCommand); - removePreviousGanntPanel(); this.ganttPanel = new GanttPanel(this.diagramGraph, taskEditFormComposer); - appendChild(ganttPanel); - registerListeners(); + ganttPanel.setParent(this); + ganttPanel.afterCompose(); } } diff --git a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/extensions/IContext.java b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/extensions/IContext.java index 56ce8e74e..fe7cc955b 100644 --- a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/extensions/IContext.java +++ b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/extensions/IContext.java @@ -1,5 +1,7 @@ package org.zkoss.ganttz.extensions; +import org.zkoss.ganttz.adapters.PlannerConfiguration; + /** * A facade for operations allowed to extensions
@@ -9,4 +11,6 @@ public interface IContext { void add(T domainObject); + void reload(PlannerConfiguration configuration); + }