Remove redraw listeners for dependencies once these dependencies are removed.
This change should improve performance when working in a gantt in which some dependencies were removed. FEA: ItEr76S04BugFixing
This commit is contained in:
parent
fe9eb3b452
commit
2664999c4d
2 changed files with 15 additions and 1 deletions
|
|
@ -58,6 +58,8 @@ public class DependencyComponent extends XulElement implements AfterCompose {
|
|||
|
||||
private PropertyChangeListener visibilityChangeListener;
|
||||
|
||||
private PropertyChangeListener listener;
|
||||
|
||||
private boolean violated = false;
|
||||
|
||||
public DependencyComponent(TaskComponent source, TaskComponent destination,
|
||||
|
|
@ -106,7 +108,7 @@ public class DependencyComponent extends XulElement implements AfterCompose {
|
|||
if (listenerAdded) {
|
||||
return;
|
||||
}
|
||||
PropertyChangeListener listener = new PropertyChangeListener() {
|
||||
listener = new PropertyChangeListener() {
|
||||
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
|
|
@ -118,6 +120,15 @@ public class DependencyComponent extends XulElement implements AfterCompose {
|
|||
listenerAdded = true;
|
||||
}
|
||||
|
||||
public void removeChangeListeners() {
|
||||
if (!listenerAdded) {
|
||||
return;
|
||||
}
|
||||
this.source.getTask().removePropertyChangeListener(listener);
|
||||
this.destination.getTask().removePropertyChangeListener(listener);
|
||||
listenerAdded = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the idTaskOrig
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -304,6 +304,9 @@ public class DependencyList extends XulElement implements AfterCompose {
|
|||
source.getTask().removeVisibilityPropertiesChangeListener(listener);
|
||||
destination.getTask().removeVisibilityPropertiesChangeListener(listener);
|
||||
|
||||
//remove other change listeners
|
||||
dependencyComponent.removeChangeListeners();
|
||||
|
||||
//remove the dependency itself
|
||||
this.removeChild(dependencyComponent);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue