ItEr43S09ImplantacionAplicacionItEr42S13: Not showing "changing zoom" message when moving tasks.

This commit is contained in:
Óscar González Fernández 2010-01-13 17:00:05 +01:00
parent 0ede251292
commit 9a9719e7a3
5 changed files with 37 additions and 25 deletions

View file

@ -168,7 +168,7 @@ public class FunctionalityExposedForExtensions<T> implements IContext<T> {
.getSecondLevelModificators();
this.timeTracker = new TimeTracker(new Interval(TimeTrackerState
.year(2009), TimeTrackerState.year(2011)),
firstLevelModificators, secondLevelModificators);
firstLevelModificators, secondLevelModificators, planner);
}
/**

View file

@ -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) {

View file

@ -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);

View file

@ -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<Row, Row> timeTrackedTableWithLeftPane = new TimeTrackedTableWithLeftPane<Row, Row>(

View file

@ -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) {