From a08e65e929fc3246d1734da089b1f8fd78eeb9ba Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 6 Oct 2009 16:03:05 +0200 Subject: [PATCH] ItEr29S13CUVistaRecursosTempoEmpresa: Added listener when planner zoom changes. --- .../web/planner/OrderPlanningModel.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java index ee8a1b219..20c5b9f0c 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java @@ -51,6 +51,9 @@ import org.springframework.transaction.annotation.Transactional; import org.zkoss.ganttz.Planner; import org.zkoss.ganttz.adapters.IStructureNavigator; import org.zkoss.ganttz.adapters.PlannerConfiguration; +import org.zkoss.ganttz.timetracker.TimeTracker; +import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener; +import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; import org.zkoss.ganttz.util.Interval; import org.zkoss.zul.Chart; import org.zkoss.zul.SimpleXYModel; @@ -140,6 +143,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { configuration); } + private IZoomLevelChangedListener zoomListener; + private IConfigurationOnTransaction withChartFilling( final IConfigurationOnTransaction onTransaction, final Order order, @@ -154,9 +159,21 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { @Override public void use(PlannerConfiguration configuration) { onTransaction.use(configuration); - Planner planner = getPlannerBeingConfigured(); - Interval interval = planner.getTimeTracker().getRealInterval(); - fillChart(order, chartComponent, interval); + final Planner planner = getPlannerBeingConfigured(); + + final TimeTracker timeTracker = planner.getTimeTracker(); + fillChart(order, chartComponent, timeTracker.getRealInterval()); + + zoomListener = new IZoomLevelChangedListener() { + + @Override + public void zoomLevelChanged(ZoomLevel detailLevel) { + fillChart(order, chartComponent, timeTracker + .getRealInterval()); + } + }; + + timeTracker.addZoomListener(zoomListener); } }; }