ItEr43S09ImplantacionAplicacionItEr42S13: Adding method to reload charts to PlannerConfiguration.

This method would provoke the charts to be reloaded
This commit is contained in:
Óscar González Fernández 2010-01-11 13:53:46 +01:00
parent e503e786fc
commit 2ace2b083f
2 changed files with 31 additions and 3 deletions

View file

@ -42,6 +42,10 @@ import org.zkoss.zk.ui.Component;
*/
public class PlannerConfiguration<T> implements IDisabilityConfiguration {
public interface IReloadChartListener {
public void reloadChart();
}
private static class NullCommand<T> implements ICommand<T> {
@Override
@ -118,6 +122,8 @@ public class PlannerConfiguration<T> implements IDisabilityConfiguration {
private IDetailItemModificator secondLevelModificators = SeveralModificators
.empty();
private List<IReloadChartListener> reloadChartListeners = new ArrayList<IReloadChartListener>();
public PlannerConfiguration(IAdapterToTaskFundamentalProperties<T> adapter,
IStructureNavigator<T> navigator, List<? extends T> data) {
this.adapter = adapter;
@ -272,4 +278,15 @@ public class PlannerConfiguration<T> 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();
}
}
}

View file

@ -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<ICommand<TaskElement>> additional,