From 2ace2b083fe7ef474b47c023f3908896dd7a2fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 11 Jan 2010 13:53:46 +0100 Subject: [PATCH] ItEr43S09ImplantacionAplicacionItEr42S13: Adding method to reload charts to PlannerConfiguration. This method would provoke the charts to be reloaded --- .../ganttz/adapters/PlannerConfiguration.java | 17 +++++++++++++++++ .../web/planner/order/OrderPlanningModel.java | 17 ++++++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java b/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java index 8a53b5415..c64e891b9 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java @@ -42,6 +42,10 @@ import org.zkoss.zk.ui.Component; */ public class PlannerConfiguration implements IDisabilityConfiguration { + public interface IReloadChartListener { + public void reloadChart(); + } + private static class NullCommand implements ICommand { @Override @@ -118,6 +122,8 @@ public class PlannerConfiguration implements IDisabilityConfiguration { private IDetailItemModificator secondLevelModificators = SeveralModificators .empty(); + private List reloadChartListeners = new ArrayList(); + public PlannerConfiguration(IAdapterToTaskFundamentalProperties adapter, IStructureNavigator navigator, List data) { this.adapter = adapter; @@ -272,4 +278,15 @@ public class PlannerConfiguration implements IDisabilityConfiguration { .create(firstLevelModificators); } + public void addReloadChartListener(IReloadChartListener reloadChartListener) { + Validate.notNull(reloadChartListener); + this.reloadChartListeners.add(reloadChartListener); + } + + public void reloadCharts() { + for (IReloadChartListener each : this.reloadChartListeners) { + each.reloadChart(); + } + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java index 56362b392..7126d626a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java @@ -87,6 +87,7 @@ import org.zkforge.timeplot.geometry.ValueGeometry; import org.zkoss.ganttz.Planner; import org.zkoss.ganttz.adapters.IStructureNavigator; import org.zkoss.ganttz.adapters.PlannerConfiguration; +import org.zkoss.ganttz.adapters.PlannerConfiguration.IReloadChartListener; import org.zkoss.ganttz.extensions.ICommand; import org.zkoss.ganttz.timetracker.TimeTracker; import org.zkoss.ganttz.timetracker.zoom.DetailItem; @@ -221,11 +222,13 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { Chart loadChart = setupChart(orderReloaded, new OrderLoadChartFiller(orderReloaded), chartLoadTimeplot, planner.getTimeTracker()); - refillLoadChartWhenNeeded(planner, saveCommand, loadChart); + refillLoadChartWhenNeeded(configuration, planner, saveCommand, + loadChart); Chart earnedValueChart = setupChart(orderReloaded, earnedValueChartFiller, chartEarnedValueTimeplot, planner.getTimeTracker()); - refillLoadChartWhenNeeded(planner, saveCommand, earnedValueChart); + refillLoadChartWhenNeeded(configuration, planner, saveCommand, + earnedValueChart); setEventListenerConfigurationCheckboxes(earnedValueChart); } @@ -471,7 +474,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { } } - private void refillLoadChartWhenNeeded(Planner planner, + private void refillLoadChartWhenNeeded( + PlannerConfiguration configuration, Planner planner, ISaveCommand saveCommand, final Chart loadChart) { planner.getTimeTracker().addZoomListener(fillOnZoomChange(loadChart)); saveCommand.addListener(fillChartOnSave(loadChart)); @@ -481,6 +485,13 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { loadChart.fillChart(); } }); + configuration.addReloadChartListener(new IReloadChartListener() { + + @Override + public void reloadChart() { + loadChart.fillChart(); + } + }); } private void addAdditional(List> additional,