ItEr57S04ValidacionEProbasFuncionaisItEr56S04: Allow to add and remove pre and post change listener for graph
This commit is contained in:
parent
072e0bcb93
commit
2ad82bc7a3
3 changed files with 43 additions and 1 deletions
|
|
@ -262,6 +262,10 @@ public class Planner extends HtmlMacroComponent {
|
|||
configuration.isDependenciesConstraintsHavePriority());
|
||||
FunctionalityExposedForExtensions<T> newContext = new FunctionalityExposedForExtensions<T>(
|
||||
this, configuration, diagramGraph);
|
||||
diagramGraph.addPreChangeListeners(configuration
|
||||
.getPreChangeListeners());
|
||||
diagramGraph.addPostChangeListeners(configuration
|
||||
.getPostChangeListeners());
|
||||
this.contextualizedGlobalCommands = contextualize(newContext,
|
||||
configuration.getGlobalCommands());
|
||||
this.commandsOnTasksContextualized = contextualize(newContext,
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import java.util.Map;
|
|||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.zkoss.ganttz.Planner;
|
||||
import org.zkoss.ganttz.data.GanttDiagramGraph.IGraphChangeListener;
|
||||
import org.zkoss.ganttz.data.constraint.Constraint;
|
||||
import org.zkoss.ganttz.data.constraint.DateConstraint;
|
||||
import org.zkoss.ganttz.extensions.ICommand;
|
||||
|
|
@ -150,6 +151,10 @@ public class PlannerConfiguration<T> implements IDisabilityConfiguration {
|
|||
|
||||
private boolean expandPlanningViewCharts;
|
||||
|
||||
private final List<IGraphChangeListener> preGraphChangeListeners = new ArrayList<IGraphChangeListener>();
|
||||
|
||||
private final List<IGraphChangeListener> postGraphChangeListeners = new ArrayList<IGraphChangeListener>();
|
||||
|
||||
public PlannerConfiguration(IAdapterToTaskFundamentalProperties<T> adapter,
|
||||
IStructureNavigator<T> navigator, List<? extends T> data) {
|
||||
this.adapter = adapter;
|
||||
|
|
@ -380,4 +385,24 @@ public class PlannerConfiguration<T> implements IDisabilityConfiguration {
|
|||
return expandPlanningViewCharts;
|
||||
}
|
||||
|
||||
public void addPreGraphChangeListener(
|
||||
IGraphChangeListener preGraphChangeListener) {
|
||||
Validate.notNull(preGraphChangeListener);
|
||||
preGraphChangeListeners.add(preGraphChangeListener);
|
||||
}
|
||||
|
||||
public void addPostGraphChangeListener(
|
||||
IGraphChangeListener postGraphChangeListener) {
|
||||
Validate.notNull(postGraphChangeListener);
|
||||
postGraphChangeListeners.add(postGraphChangeListener);
|
||||
}
|
||||
|
||||
public List<IGraphChangeListener> getPreChangeListeners() {
|
||||
return Collections.unmodifiableList(preGraphChangeListeners);
|
||||
}
|
||||
|
||||
public List<IGraphChangeListener> getPostChangeListeners() {
|
||||
return Collections.unmodifiableList(postGraphChangeListeners);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,6 +123,20 @@ public class GanttDiagramGraph implements ICriticalPathCalculable<Task> {
|
|||
postGraphChangeListeners.remove(postGraphChangeListener);
|
||||
}
|
||||
|
||||
public void addPreChangeListeners(
|
||||
Collection<? extends IGraphChangeListener> preChangeListeners) {
|
||||
for (IGraphChangeListener each : preChangeListeners) {
|
||||
addPreGraphChangeListener(each);
|
||||
}
|
||||
}
|
||||
|
||||
public void addPostChangeListeners(
|
||||
Collection<? extends IGraphChangeListener> postChangeListeners) {
|
||||
for (IGraphChangeListener each : postChangeListeners) {
|
||||
addPostGraphChangeListener(each);
|
||||
}
|
||||
}
|
||||
|
||||
public GanttDiagramGraph(List<Constraint<Date>> globalStartConstraints,
|
||||
List<Constraint<Date>> globalEndConstraints,
|
||||
boolean dependenciesConstraintsHavePriority) {
|
||||
|
|
@ -1158,7 +1172,6 @@ public class GanttDiagramGraph implements ICriticalPathCalculable<Task> {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
interface IReentranceCases {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue