From 9a9719e7a33319118000b0cb5ef23fd1b60e9bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 13 Jan 2010 17:00:05 +0100 Subject: [PATCH] ItEr43S09ImplantacionAplicacionItEr42S13: Not showing "changing zoom" message when moving tasks. --- .../FunctionalityExposedForExtensions.java | 2 +- .../zkoss/ganttz/timetracker/TimeTracker.java | 39 ++++++++++++++++--- .../timetracker/TimeTrackerComponent.java | 17 +------- .../AdvancedAllocationController.java | 2 +- .../resourceload/ResourceLoadController.java | 2 +- 5 files changed, 37 insertions(+), 25 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java index 7ccb7025b..650341c9f 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java @@ -168,7 +168,7 @@ public class FunctionalityExposedForExtensions implements IContext { .getSecondLevelModificators(); this.timeTracker = new TimeTracker(new Interval(TimeTrackerState .year(2009), TimeTrackerState.year(2011)), - firstLevelModificators, secondLevelModificators); + firstLevelModificators, secondLevelModificators, planner); } /** diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java index 1c74435aa..705340420 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java @@ -20,6 +20,8 @@ package org.zkoss.ganttz.timetracker; +import static org.zkoss.ganttz.i18n.I18nHelper._; + import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Collection; @@ -37,8 +39,11 @@ import org.zkoss.ganttz.timetracker.zoom.SeveralModificators; import org.zkoss.ganttz.timetracker.zoom.TimeTrackerState; import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; import org.zkoss.ganttz.util.Interval; +import org.zkoss.ganttz.util.LongOperationFeedback; import org.zkoss.ganttz.util.WeakReferencedListeners; +import org.zkoss.ganttz.util.LongOperationFeedback.ILongOperation; import org.zkoss.ganttz.util.WeakReferencedListeners.IListenerNotification; +import org.zkoss.zk.ui.Component; public class TimeTracker { @@ -59,19 +64,25 @@ public class TimeTracker { private final IDetailItemModificator secondLevelModificator; - public TimeTracker(Interval interval) { - this(interval, SeveralModificators.empty(), SeveralModificators.empty()); + private final Component componentOnWhichGiveFeedback; + + public TimeTracker(Interval interval, Component componentOnWhichGiveFeedback) { + this(interval, SeveralModificators.empty(), + SeveralModificators.empty(), componentOnWhichGiveFeedback); } public TimeTracker(Interval interval, IDetailItemModificator firstLevelModificator, - IDetailItemModificator secondLevelModificator) { + IDetailItemModificator secondLevelModificator, + Component componentOnWhichGiveFeedback) { Validate.notNull(interval); Validate.notNull(firstLevelModificator); Validate.notNull(secondLevelModificator); + Validate.notNull(componentOnWhichGiveFeedback); this.interval = interval; this.firstLevelModificator = firstLevelModificator; this.secondLevelModificator = secondLevelModificator; + this.componentOnWhichGiveFeedback = componentOnWhichGiveFeedback; } public ZoomLevel getDetailLevel() { @@ -149,12 +160,28 @@ public class TimeTracker { public void zoomIncrease() { detailLevel = detailLevel.next(); - invalidatingChangeHappened(); + invalidatingChangeHappenedWithFeedback(); + } + + private void invalidatingChangeHappenedWithFeedback() { + LongOperationFeedback.execute(componentOnWhichGiveFeedback, + new ILongOperation() { + + @Override + public void doAction() throws Exception { + invalidatingChangeHappened(); + } + + @Override + public String getName() { + return _("changing zoom"); + } + }); } public void setZoomLevel(ZoomLevel zoomLevel) { detailLevel = zoomLevel; - invalidatingChangeHappened(); + invalidatingChangeHappenedWithFeedback(); } private void invalidatingChangeHappened() { @@ -164,7 +191,7 @@ public class TimeTracker { public void zoomDecrease() { detailLevel = detailLevel.previous(); - invalidatingChangeHappened(); + invalidatingChangeHappenedWithFeedback(); } public void trackPosition(final Task task) { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java index 7f8cb4af2..98a6d1e0d 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java @@ -20,16 +20,12 @@ package org.zkoss.ganttz.timetracker; -import static org.zkoss.ganttz.i18n.I18nHelper._; - import java.util.Collection; import org.zkoss.ganttz.timetracker.zoom.DetailItem; import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener; import org.zkoss.ganttz.timetracker.zoom.TimeTrackerState; import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; -import org.zkoss.ganttz.util.LongOperationFeedback; -import org.zkoss.ganttz.util.LongOperationFeedback.ILongOperation; import org.zkoss.zk.au.AuRequest; import org.zkoss.zk.au.Command; import org.zkoss.zk.au.ComponentCommand; @@ -61,18 +57,7 @@ public abstract class TimeTrackerComponent extends HtmlMacroComponent { @Override public void zoomLevelChanged(ZoomLevel detailLevel) { - LongOperationFeedback.execute(TimeTrackerComponent.this, new ILongOperation() { - - @Override - public void doAction() throws Exception { - recreate(); - } - - @Override - public String getName() { - return _("changing zoom"); - } - }); + recreate(); } }; this.timeTracker.addZoomListener(zoomListener); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java index 9834bf62d..55865e93f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java @@ -412,7 +412,7 @@ public class AdvancedAllocationController extends GenericForwardComposer { } private void createComponents() { - timeTracker = new TimeTracker(addYearMarginTointerval()); + timeTracker = new TimeTracker(addYearMarginTointerval(), self); timeTrackerComponent = new TimeTrackerComponentWithoutColumns( timeTracker, "timeTracker"); TimeTrackedTableWithLeftPane timeTrackedTableWithLeftPane = new TimeTrackedTableWithLeftPane( diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java index dc1d1e60c..0c8e8a92e 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java @@ -85,7 +85,7 @@ public class ResourceLoadController implements Composer { private ResourcesLoadPanel buildResourcesLoadPanel() { return new ResourcesLoadPanel(resourceLoadModel.getLoadTimeLines(), - new TimeTracker(resourceLoadModel.getViewInterval())); + new TimeTracker(resourceLoadModel.getViewInterval(), parent)); } public void filterBy(Order order) {